[#118346] [Ruby master Bug#20586] Some filesystem calls in dir.c are missing error handling and can return incorrect results if interrupted — "ivoanjo (Ivo Anjo) via ruby-core" <ruby-core@...>
Issue #20586 has been reported by ivoanjo (Ivo Anjo).
13 messages
2024/06/19
[ruby-core:118161] [Ruby master Feature#20443] Allow Major GC's to be disabled
From:
"eightbitraptor (Matthew Valentine-House) via ruby-core" <ruby-core@...>
Date:
2024-06-03 21:24:48 UTC
List:
ruby-core #118161
SXNzdWUgIzIwNDQzIGhhcyBiZWVuIHVwZGF0ZWQgYnkgZWlnaHRiaXRyYXB0b3IgKE1hdHRoZXcg VmFsZW50aW5lLUhvdXNlKS4NCg0KDQpUaGFua3MgQGtvMS4gSSd2ZSB1cGRhdGVkIHRoZSBkb2N1 bWVudGF0aW9uIGFzIHBlciBAbWF0eiByZXF1ZXN0LCBzbyBJJ2xsIG1lcmdlIGFuZCBjbG9zZSB0 aGlzIG5vdy4NCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KRmVh dHVyZSAjMjA0NDM6IEFsbG93IE1ham9yIEdDJ3MgdG8gYmUgZGlzYWJsZWQNCmh0dHBzOi8vYnVn cy5ydWJ5LWxhbmcub3JnL2lzc3Vlcy8yMDQ0MyNjaGFuZ2UtMTA4NTk5DQoNCiogQXV0aG9yOiBl aWdodGJpdHJhcHRvciAoTWF0dGhldyBWYWxlbnRpbmUtSG91c2UpDQoqIFN0YXR1czogT3Blbg0K LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KW1tHaXRodWIgUFIgIzEw NTk4XV0oaHR0cHM6Ly9naXRodWIuY29tL3J1YnkvcnVieS9wdWxsLzEwNTk4KQ0KDQojIyBCYWNr Z3JvdW5kDQoNClJ1YnkncyBHQyBydW5uaW5nIGR1cmluZyBSYWlscyByZXF1ZXN0cyBjYW4gaGF2 ZSBuZWdhdGl2ZSBpbXBhY3RzIG9uIGN1cnJlbnRseQ0KcnVubmluZyByZXF1ZXN0cywgY2F1c2lu ZyBhcHBsaWNhdGlvbnMgdG8gaGF2ZSBoaWdoIHRhaWwtbGF0ZW5jeS4NCg0KQSB0ZWNobmlxdWUg dG8gbWl0aWdhdGUgdGhpcyBoaWdoIHRhaWwtbGF0ZW5jeSBpcyBPdXQtb2YtYmFuZCBHQyAoT09C R0MpLiBUaGlzDQppcyBiYXNpY2FsbHkgd2hlcmUgdGhlIGFwcGxpY2F0aW9uIGlzIHJ1biB3aXRo IEdDIGRpc2FibGVkLCBhbmQgdGhlbiBHQyBpcw0KZXhwbGljaXRseSBzdGFydGVkIGFmdGVyIGVh Y2ggcmVxdWVzdCwgb3Igd2hlbiBubyByZXF1ZXN0cyBhcmUgaW4gcHJvZ3Jlc3MuDQoNClRoaXMg Y2FuIHJlZHVjZSB0aGUgdGFpbCBsYXRlbmN5LCBidXQgYWxzbyBpbnRyb2R1Y2VzIHByb2JsZW1z IG9mIGl0cyBvd24uIExvbmcNCkdDIHBhdXNlcyBhZnRlciBlYWNoIHJlcXVlc3QgcmVkdWNlIHRo cm91Z2hwdXQuIFRoaXMgaXMgbW9yZSBwcm9ub3VuY2VkIG9uDQp0aHJlYWRpbmcgc2VydmVycyBs aWtlIFB1bWEgYmVjYXVzZSBhbGwgdGhlIHRocmVhZHMgaGF2ZSB0byBmaW5pc2ggcHJvY2Vzc2lu Zw0KdXNlciByZXF1ZXN0cyBhbmQgYmUgInBhdXNlZCIgYmVmb3JlIE9PQkdDIGNhbiBiZSB0cmln Z2VyZWQuDQoNClRoaXMgdGhyb3VnaHB1dCBkZWNyZWFzZSBoYXBwZW5zIGZvciBhIGNvdXBsZSBv ZiByZWFzb25zOg0KDQoxLiBUaGVyZSBhcmUgZmV3IGhldXJpc3RpY3MgYXZhaWxhYmxlIGZvciB1 c2VycyB0byBkZXRlcm1pbmUgd2hlbiBHQyBzaG91bGQgcnVuLA0KdGhpcyBtZWFucyB0aGF0IGlu IE9PQkdDIHNjZW5hcmlvcywgaXQncyBwb3NzaWJsZSB0aGF0IG1ham9yIEdDJ3MgYXJlIGJlaW5n IHJ1bg0KbW9yZSB0aGFuIG5lY2Vzc2FyeS4gIDIuIFRoZSBsYWNrIG9mIGFueSBHQyBkdXJpbmcg YSByZXF1ZXN0IG1lYW5zIHRoYXQgbG90cyBvZg0KZ2FyYmFnZSBvYmplY3RzIGhhdmUgYmVlbiBj cmVhdGVkIGFuZCBub3QgY2xlYW5lZCB1cCwgc28gdGhlIHByb2Nlc3MgaXMgdXNpbmcNCm1vcmUg bWVtb3J5IHRoYW4gaXQgc2hvdWxkIC0gcmVxdWlyaW5nIG1ham9yIEdDJ3MgcnVuIGFzIHBhcnQg b2YgT09CR0MgdG8gZG8NCm1vcmUgd29yayBhbmQgdGhlcmVmb3JlIHRha2UgbW9yZSB0aW1lLg0K DQpUaGlzIHRpY2tldCBhdHRlbXB0cyB0byBhZGRyZXNzIHRoZXNlIGlzc3VlcyBieToNCg0KMS4g UHJvdmlkZSBgR0MuZGlzYWJsZV9tYWpvcmAgYW5kIGl0cyBhbnRvbnltIGBHQy5lbmFibGVfbWFq b3JgIHRvIGRpc2FibGUgYW5kDQplbmFibGUgb25seSBtYWpvciBHQyAyLiBQcm92aWRlIGBHQy5u ZWVkc19tYWpvcj9gIGFzIGEgYmFzaWMgaGV1cmlzdGljIGFsbG93aW5nDQp1c2VycyB0byB0ZWxs IHdoZW4gUnVieSBzaG91bGQgcnVuIGEgTWFqb3IgR0MuDQoNClRoZXNlIGlkZWFzIHdlcmUgb3Jp Z2luYWxseSBwcm9wb3NlZCBieSBAa28xIGFuZCBAYnlyb290IGluIFt0aGlzIHJhaWxzDQppc3N1 ZV0oaHR0cHM6Ly9naXRodWIuY29tL3JhaWxzL3JhaWxzL2lzc3Vlcy81MDQ0OSkNCg0KRGlzYWJs aW5nIEdDIG1ham9yJ3Mgd291bGQgc3RpbGwgYWxsb3cgbWlub3IgR0MncyB0byBydW4gZHVyaW5n IHRoZSByZXF1ZXN0LA0KYXZvaWRpbmcgdGhlIGJhbGxvb25pbmcgbWVtb3J5IHVzYWdlIGNhdXNl ZCBieSBub3QgcnVubmluZyBHQyBhdCBhbGwsIGFuZA0KcmVkdWNpbmcgdGhlIHRpbWUgdGhhdCBh IG1ham9yIHRha2VzIHdoZW4gd2UgZG8gcnVuIGl0LCBiZWNhdXNlIHRoZSBudXJzZXJ5DQpvYmpl Y3RzIGhhdmUgYmVlbiBjbGVhbmVkIHVwIGR1cmluZyB0aGUgcmVxdWVzdCBhbHJlYWR5IHNvIHRo ZXJlIGlzIGxlc3Mgd29yaw0KZm9yIGEgbWFqb3IgR0MgdG8gZG8uDQoNClRoaXMgY2FuIGJlIHVz ZWQgaW4gY29tYmluYXRpb24gd2l0aCBgR0MubmVlZHNfbWFqb3I/YCB0byBzZWxlY3RpdmVseSBy dW4gYW4NCk9PQkdDIG9ubHkgd2hlbiBuZWNlc3NhcnkNCg0KIyMgSW1wbGVtZW50YXRpb24NCg0K VGhpcyBQUiBhZGRzIDMgbmV3IG1ldGhvZHMgdG8gdGhlIGBHQ2AgbW9kdWxlDQoNCi0gYEdDLmRp c2FibGVfbWFqb3JgIFRoaXMgcHJldmVudHMgbWFqb3IgR0MncyBmcm9tIHJ1bm5pbmcgYXV0b21h dGljYWxseS4gSXQNCiAgZG9lcyBub3QgcmVzdHJpY3QgbWlub3JzLiBXaGVuIGBvYmpzcGFjZS0+ cmdlbmdjLm5lZWRfbWFqb3JfZ2NgIGlzIHNldCBhbmQgYQ0KICBHQyBpcyBydW4sIGluc3RlYWQg b2YgcnVubmluZyBhIG1ham9yLCBuZXcgaGVhcCBwYWdlcyB3aWxsIGJlIGFsbG9jYXRlZCBhbmQg YQ0KICBtaW5vciBydW4gaW5zdGVhZC4gYG9ianNwYWNlLT5yZ2VuZ2MubmVlZF9tYWpvcl9nY2Ag d2lsbCByZW1haW4gc2V0IHVudGlsIGENCiAgbWFqb3IgaXMgbWFudWFsbHkgcnVuLiBJZiBhIG1h am9yIGlzIG5vdCBtYW51YWxseSBydW4gdGhlbiB0aGUgcHJvY2VzcyB3aWxsDQogIGV2ZW50dWFs bHkgcnVuIG91dCBvZiBtZW1vcnkuDQogIA0KICBXaGVuIG1ham9yIEdDJ3MgYXJlIGRpc2FibGVk LCBvYmplY3QgcHJvbW90aW9uIGlzIGRpc2FibGVkLiBUaGF0IGlzLCBubw0KICBvYmplY3RzIHdp bGwgaW5jcmVtZW50IHRoZWlyIGFnZXMgZHVyaW5nIGEgbWlub3IgR0MuIFRoaXMgaXMgdG8gYXR0 ZW1wdCB0bw0KICBtaW5pbWlzZSBoZWFwIGdyb3d0aCBkdXJpbmcgdGhlIHBlcmlvZCBiZXR3ZWVu IG1ham9yIEdDJ3MsIGJ5IHJlc3RyaWN0aW5nIHRoZQ0KICBudW1iZXIgb2Ygb2xkLWdlbiBvYmpl Y3RzIHRoYXQgd2lsbCByZW1haW4gdW5jb25zaWRlcmVkIGJ5IHRoZSBHQyB1bnRpbCB0aGUNCiAg bmV4dCBtYWpvci4NCiAgDQogIFdoZW4gYEdDLnN0YXJ0YCBpcyBydW4sIHRoZW4gbWFqb3IgR0Mn cyB3aWxsIGJlIGVuYWJsZWQsIGEgR0MgdHJpZ2dlcmVkIHdpdGgNCiAgdGhlIG9wdGlvbnMgcGFz c2VkIHRvIGBHQy5zdGFydGAsIGFuZCB0aGVuIGBkaXNhYmxlX21ham9yYCB3aWxsIGJlIHNldCB0 byB0aGUNCiAgc3RhdGUgaXQgd2FzIGluIGJlZm9yZSBgR0Muc3RhcnRgIHdhcyBjYWxsZWQuDQog IA0KLSBgR0MuZW5hYmxlX21ham9yYCBUaGlzIHNpbXBseSB1bnNldHMgdGhlIGJpdCBwcmV2ZW50 aW5nIG1ham9yIEdDJ3MuIFRoaXMgd2lsbA0KICByZXZlcnQgdGhlIEdDIHRvIG5vcm1hbCBnZW5l cmF0aW9uYWwgYmVoYXZpb3VyLiBFdmVyeXRoaW5nIGJlaGF2ZXMgYXMgZGVmYXVsdA0KICBhZ2Fp bi4NCg0KLSBgR0MubmVlZHNfbWFqb3I/YCBUaGlzIGV4cG9zZXMgdGhlIHZhbHVlIG9mIGBvYmpz cGFjZS0+cmdlbmdjLm5lZWRfbWFqb3JfZ2NgDQogIHRvIHRoZSB1c2VyIGxldmVsIEFQSS4gVGhp cyBpcyBhbHJlYWR5IGV4cG9zZWQgaW4NCiAgYEdDLmxhdGVzdF9nY19pbmZvWzpuZWVkX21ham9y X2J5XWAgYnV0IEkgZmVsdCB0aGF0IGEgc2ltcGxlciBpbnRlcmZhY2Ugd291bGQNCiAgbWFrZSB0 aGlzIGVhc2llciB0byB1c2UgYW5kIHJlc3VsdCBpbiBtb3JlIHJlYWRhYmxlIGNvZGUuIGVnLg0K ICANCmBgYA0Kb3V0X29mX2JhbmQgZG8gDQogIEdDLnN0YXJ0IGlmIEdDLm5lZWRzX21ham9yPyAg DQplbmQgDQpgYGANCg0KQmVjYXVzZSBvYmplY3QgYWdpbmcgaXMgZGlzYWJsZWQgd2hlbiBtYWpv cnMgYXJlIGRpc2FibGVkIGl0IGlzIHJlY29tbWVuZGVkIHRvDQp1c2UgdGhpcyBpbiBjb25qdW5j dGlvbiB3aXRoIGBQcm9jZXNzLndhcm11cGAsIHdoaWNoIHdpbGwgcHJlcGFyZSB0aGUgaGVhcCBi eQ0KcnVubmluZyBhIG1ham9yIEdDLCBjb21wYWN0aW5nIHRoZSBoZWFwLCBhbmQgcHJvbW90aW5n IGV2ZXJ5IHJlbWFpbmluZyBvYmplY3QgdG8NCm9sZC1nZW4uIFRoaXMgZW5zdXJlcyB0aGF0IG1p bm9yIEdDJ3MgYXJlIHJ1bm5pbmcgb3ZlciB0aGUgc21hbGxldHMgcG9zc2libGUgc2V0DQpvZiB5 b3VuZyBvYmplY3RzIHdoZW4gYEdDLmRpc2FibGVfbWFqb3JgIGlzIHRydWUuDQoNCiMjIEJlbmNo bWFya3MNCg0KV2UgcmFuIHNvbWUgdGVzdHMgaW4gcHJvZHVjdGlvbiBvbiBTaG9waWZ5J3MgY29y ZSBtb25vbGl0aCBvdmVyIGEgd2Vla2VuZCBhbmQNCmZvdW5kIHRoYXQ6DQoNCioqTWVhbiB0aW1l IHNwZW50IGluIEdDLCBhcyB3ZWxsIGFzIHA5OS45IGFuZCBwOTkuOTkgR0MgdGltZXMgYXJlIGFs bA0KaW1wcm92ZWQuKiogDQoNCjxpbWcgd2lkdGg9IjEwMDAiIGFsdD0iU2NyZWVuc2hvdCAyMDI0 LTA0LTIyIGF0IDE2IDQxIDQ5Ig0Kc3JjPSJodHRwczovL2dpdGh1Yi5jb20vcnVieS9ydWJ5L2Fz c2V0cy8zMTg2OS82Y2ZmNWIxMS0yZTIxLTQwYzEtYmI4NC1kOTk0ZTBlMTc5OGQiPg0KDQoqKnA5 OSBHQyB0aW1lIGlzIHNsaWdodGx5IGhpZ2hlci4qKiANCg0KPGltZyB3aWR0aD0iMTAwMCIgYWx0 PSJTY3JlZW5zaG90IDIwMjQtMDQtMjIgYXQgMTYgNDQgNTUiDQpzcmM9Imh0dHBzOi8vZ2l0aHVi LmNvbS9ydWJ5L3J1YnkvYXNzZXRzLzMxODY5L2RjNjQ1Y2JlLTk0OTUtNDZmMC04NDg1LTI0ZTc5 MGM0MmYzMiI+DQoNCldlJ3JlIHJ1bm5pbmcgZmFyIGZld2VyIE9PQkdDIG1ham9yIEdDJ3Mgbm93 IHRoYXQgd2UgaGF2ZSBgR0MubmVlZHNfbWFqb3I/YCB0aGFuDQp3ZSB3ZXJlIGJlZm9yZSwgYW5k IHdlIGJlbGlldmUgdGhhdCB0aGlzIGlzIGNvbnRyaWJ1dGluZyB0byBhIHNsaWdodGx5IGluY3Jl YXNlZA0KbnVtYmVyIG9mIG1pbm9yIEdDJ3MuIHJhaXNpbmcgdGhlIHA5OSBzbGlnaHRseS4NCg0K KipBcHAgcmVzcG9uc2UgdGltZXMgYXJlIGFsbCBpbXByb3ZlZCoqDQoNCldlIHNlZSBhIH4yJSBy ZWR1Y3Rpb24gaW4gYXZlcmFnZSByZXNwb25zZSB0aW1lcyB3aGVuIGNvbXBhcmVkIGFnYWluc3Rz dGFuZGFyZCBHQyANCih+NyUgcDk5LCB+MyUgcDk5LjkgYW5kIH40JSBwOTkuOTkpLg0KDQo8aW1n IHdpZHRoPSIxMDAwIiBhbHQ9IlNjcmVlbnNob3QgMjAyNC0wNC0yMyBhdCAwOSAyNyAxNyIgc3Jj PSJodHRwczovL2dpc3QuZ2l0aHViLmNvbS9hc3NldHMvMzE4NjkvNzBlODFmYTUtNzdiMi00Njlh LTg5NDUtODhiZjhmOGZlZmU5Ij4NCg0KVGhpcyBkcm9wcyBzbGlnaHRseSB0byBhbiBhIH4xJSBy ZWR1Y3Rpb24gaW4gYXZlcmFnZSByZXNwb25zZSB0aW1lcyB3aGVuIGNvbXBhcmVkDQphZ2FpbnN0 IG91ciBub3JtYWwgT09CR0MgYXBwcm9hY2ggICh+NiUgcDk5LCB+MiUgcDk5LjkgYW5kIH4zJSBw OTkuOTkpLg0KDQo8aW1nIHdpZHRoPSIxMDAwIiBhbHQ9IlNjcmVlbnNob3QgMjAyNC0wNC0yMyBh dCAwOSAyNyAyOSIgc3JjPSJodHRwczovL2dpc3QuZ2l0aHViLmNvbS9hc3NldHMvMzE4NjkvY2Jh YTM4MDctMGNkMS00ZGJhLWE1ZTYtYjlkZjkxMDI0ZDczIj4NCg0KDQpFRElUOiB0byBjb3JyZWN0 IGEgZm9ybXVsYSBlcnJvciBpbiB0aGUgb3JpZ2luYWwgQXZlcmFnZSBjaGFydHMsIG51bWJlcnMg dXBkYXRlZC4gDQoNCi0tLUZpbGVzLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCkNh cHR1cmUgZOKAmWXMgWNyYW4gMjAyNC0wNC0yMiBhzIAgMTguNDEuNTIucG5nICgyNzkgS0IpDQoN Cg0KLS0gDQpodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy8NCiBfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCiBydWJ5LWNvcmUgbWFpbGluZyBsaXN0IC0tIHJ1 YnktY29yZUBtbC5ydWJ5LWxhbmcub3JnCiBUbyB1bnN1YnNjcmliZSBzZW5kIGFuIGVtYWlsIHRv IHJ1YnktY29yZS1sZWF2ZUBtbC5ydWJ5LWxhbmcub3JnCiBydWJ5LWNvcmUgaW5mbyAtLSBodHRw czovL21sLnJ1YnktbGFuZy5vcmcvbWFpbG1hbjMvcG9zdG9yaXVzL2xpc3RzL3J1YnktY29yZS5t bC5ydWJ5LWxhbmcub3JnLw==