[#110300] [Ruby master Bug#19057] Hide implementation of `rb_io_t`. — "ioquatix (Samuel Williams)" <noreply@...>
SXNzdWUgIzE5MDU3IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGlvcXVhdGl4IChTYW11ZWwgV2lsbGlh
53 messages
2022/10/15
[ruby-core:110316] [Ruby master Feature#19058] Introduce `Fiber.inheritable` attributes/variables for dealing with shared state.
From:
"ioquatix (Samuel Williams)" <noreply@...>
Date:
2022-10-15 22:14:20 UTC
List:
ruby-core #110316
SXNzdWUgIzE5MDU4IGhhcyBiZWVuIHVwZGF0ZWQgYnkgaW9xdWF0aXggKFNhbXVlbCBXaWxsaWFt cykuCgoKSGVyZSBpcyBhbm90aGVyIGludGVyZXN0aW5nIGlkZWEgd2hpY2ggdXNlcyBiaW5kaW5n IGxvY2FscyB3aGljaCBtb3JlIGNsb3NlbHkgcmVzZW1ibGVzIGR5bmFtaWNhbGx5IHNjb3BlZCB2 YXJpYWJsZXM6CgpgYGBydWJ5CnJlcXVpcmUgJ2ZpYmVyJwoKbW9kdWxlIEZpYmVyTG9jYWxCaW5k aW5ncwogIGF0dHJfcmVhZGVyIDpwYXJlbnQKCiAgZGVmIGluaXRpYWxpemUoJmJsb2NrKQogICAg QHBhcmVudCA9IEZpYmVyLmN1cnJlbnQKICAgIEBibG9jayA9IGJsb2NrCiAgICBzdXBlcigpCiAg ZW5kCgogIGRlZiBtZXRob2RfbWlzc2luZyB0aGluZywgb3RoZXIgPSBuaWwKICAgIGlmIHRoaW5n LnRvX3MgPX4gL14oXHcrKT0kLwogICAgICBAYmxvY2suYmluZGluZy5sb2NhbF92YXJpYWJsZV9z ZXQoJDEudG9fc3ltLCBvdGhlcikKICAgIGVsc2UKICAgICAgQGJsb2NrLmJpbmRpbmcubG9jYWxf dmFyaWFibGVfZ2V0KHRoaW5nKSB8fCBwYXJlbnQuc2VuZCh0aGluZykKICAgIGVuZAogIGVuZApl bmQKCkZpYmVyLnByZXBlbmQoRmliZXJMb2NhbEJpbmRpbmdzKQoKeCA9IDEyMwpwIG91dGVyOiBi aW5kaW5nCmYgPSBGaWJlci5uZXcgZG8KICBwIEZpYmVyLmN1cnJlbnQueAogIEZpYmVyLmN1cnJl bnQueCA9IDQ1NgplbmQKZi5yZXN1bWUKcCB4CmBgYAoKQXNzaWduaW5nIHRvIGBGaWJlci5jdXJy ZW50LnhgIGFwcGVhcnMgdG8gY2hhbmdlIHRoZSBvdXRlcm1vc3QgYHhgIHdoaWNoIEkgYXNzdW1l IGlzIGJlY2F1c2UgUnVieSBgbG9jYWxfdmFyaWFibGUtc2V0YCBmb2xsb3dzIHRoZSBzYW1lIGJl aGF2aW91ciBhcyBSdWJ5J3Mgbm9ybWFsIGxleGljYWwgc2NvcGluZz8KCi0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KRmVhdHVyZSAjMTkwNTg6IEludHJvZHVjZSBgRmli ZXIuaW5oZXJpdGFibGVgIGF0dHJpYnV0ZXMvdmFyaWFibGVzIGZvciBkZWFsaW5nIHdpdGggc2hh cmVkIHN0YXRlLgpodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMvMTkwNTgjY2hhbmdl LTk5NjA2CgoqIEF1dGhvcjogaW9xdWF0aXggKFNhbXVlbCBXaWxsaWFtcykKKiBTdGF0dXM6IE9w ZW4KKiBQcmlvcml0eTogTm9ybWFsCiogQXNzaWduZWU6IGlvcXVhdGl4IChTYW11ZWwgV2lsbGlh bXMpCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KVGhlcmUgYXJlIG1h bnkgaW5zdGFuY2VzIG9mIHByb2dyYW1zIHVzaW5nIGdsb2JhbHMsIHRocmVhZCBsb2NhbHMgYW5k IGZpYmVyIGxvY2FscyBmb3Igc2hhcmVkIHN0YXRlLiBVbmZvcnR1bmF0ZWx5IHRoZXNlIHByb2dy YW1zIG9mdGVuIGhhdmUgYnVncyBvciB1bnVzdWFsIGJlaGF2aW91ciB3aGVuIG9iamVjdHMgYXJl IHVzZWQgb24gZGlmZmVyZW50IHRocmVhZHMgb3IgZmliZXJzLgoKSGVyZSBpcyBhIHNpbXBsZSBl eGFtcGxlIG9mIHRoZSBraW5kIG9mIHByb2JsZW0gdGhhdCBjYW4gb2NjdXI6CgpgYGBydWJ5CmNs YXNzIFVzZXJzCiAgZGVmIGVhY2gKICAgIHJldHVybiB0b19lbnVtIHVubGVzcyBibG9ja19naXZl bj8KICAgIHAgZWFjaDogRmliZXIuY3VycmVudAogICAgeWllbGQgIkEiCiAgICB5aWVsZCAiQiIK ICAgIHlpZWxkICJDIgogIGVuZAplbmQKCnAgVXNlcnMubmV3LmVhY2guemlwKFVzZXJzLm5ldy5l YWNoKQpgYGAKCldoZW4gdGhlIGVudW1lcmF0aW9uIGRlcGVuZHMgb24gYSBmaWJlci1sb2NhbCBj b25uZWN0aW9uIGluc3RhbmNlIChlLmcuIGBUaHJlYWQuY3VycmVudFs6Y29ubmVjdGlvbl1gKSBp dCBjb3VsZCB1bmV4cGVjdGVkbHkgYnJlYWsgdGhlIG9wZXJhdGlvbiBiZWNhdXNlIHdpdGhpbiB0 aGUgZW51bWVyYXRlLCB0aGUgZmliZXIgaXMgZGlmZmVyZW50IGxlYWRpbmcgdG8gbWlzc2luZyBj b25uZWN0aW9uLgoKSW4gYWxsIHRoZXNlIGNhc2VzLCB0aGUgcHJvYmxlbSBjYW4gYmUgc29sdmVk IGJ5IG5vdCByZWx5aW5nIG9uIGltcGxpY2l0L2ludmlzaWJsZSBzdGF0ZS4gVW5mb3J0dW5hdGVs eSwgbWFueSBwcm9ncmFtcyB0YWtlIGFkdmFudGFnZSBvZiBwcm9jZXNzIChnbG9iYWwpLCB0aHJl YWQgb3IgZmliZXIgbG9jYWwgdmFyaWFibGVzIHRvIGNyZWF0ZSBtb3JlIGVyZ29ub21pYyBpbnRl cmZhY2VzLCBlLmcuCgpgYGBydWJ5CkRCLmNvbm5lY3QodXNlcm5hbWUsIHBhc3N3b3JkLCBob3N0 KQoKREIucXVlcnkoIlNFTEVDVCAqIEZST00gQlVHUyIpOyAjIGltcGxpY2l0IGRlcGVuZGVuY3kg b24gY29ubmVjdGlvbi4KYGBgCgpSdWJ5IHByb3ZpZGVzIHNldmVyYWwsIHNvbWV3aGF0IGNvbmZ1 c2luZyBvcHRpb25zLgoKYGBgcnVieQpUaHJlYWQuY3VycmVudFs6eF0gIyBGaWJlciBsb2NhbC4K VGhyZWFkLmN1cnJlbnQudGhyZWFkX3ZhcmlhYmxlX2dldCg6eCkgIyBUaHJlYWQgbG9jYWwuCgpj bGFzcyBUaHJlYWQKICBhdHRyIDp4CmVuZAoKVGhyZWFkLmN1cnJlbnQueCAjIHRocmVhZCBsb2Nh bAoKY2xhc3MgRmliZXIKICBhdHRyIDp4CmVuZAoKRmliZXIuY3VycmVudC54ICMgZmliZXIgbG9j YWwKYGBgCgpPdmVyIHRoZSB5ZWFycyB0aGVyZSBoYXZlIGJlZW4gbXVsdGlwbGUgaXNzdWVzIGFi b3V0IHRoZSBhYm92ZSBiZWhhdmlvdXI6CgotIGh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnL2lz c3Vlcy8xNzE3Ci0gaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzcwOTcKLSBodHRw czovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMvODIxNQotIGh0dHBzOi8vYnVncy5ydWJ5LWxh bmcub3JnL2lzc3Vlcy8xMzg5MwotIFJhaWxzIGlzIGFsc28gd29ya2luZyBhcm91bmQgdGhpcyBp c3N1ZTogaHR0cHM6Ly9naXRodWIuY29tL3JhaWxzL3JhaWxzL3B1bGwvNDM1OTYKClRoZSBoZWFy dCBvZiB0aGUgaXNzdWUgaXM6IHRoZXJlIHNob3VsZCBiZSBhIGNvbnNpc3RlbnQgYW5kIGNvbnZl bmllbnQgd2F5IHRvIGRlZmluZSBzdGF0ZSBhdHRhY2hlZCB0byB0aGUgY3VycmVudCBleGVjdXRp b24gY29udGV4dCwgd2hpY2ggZ2V0cyBpbmhlcml0ZWQgYnkgY2hpbGQgZXhlY3V0aW9uIGNvbnRl eHRzLiBFc3NlbnRpYWxseToKCmBgYHJ1YnkKbGV0KHg6IDEwKSBkbwogICMgSW4gZXZlcnkgZXhl Y3V0aW9uIGNvbnRleHQgY3JlYXRlZCB3aXRoaW4gdGhpcyBibG9jaywgdW5sZXNzIG90aGVyd2lz ZSBjaGFuZ2VkLCBgeGAgaXMgYm91bmQgdG8gdGhlIHZhbHVlIDEwLiBUaGF0IG1lYW5zLCB0aHJl YWRzLCBmaWJlcnMsIGV0Yy4KZW5kCmBgYAoKVGhpcyBpcyBzb21ldGltZXMgcmVmZXJyZWQgdG8g YXMgZHluYW1pYyBzY29wZS4gVGhpcyBwcm9wb3NhbCBpcyB0byBpbnRyb2R1Y2UgYSBzaW1pbGFy IGR5bmFtaWMgc2NvcGUgZm9yIGZpYmVyIGluaGVyaXRhYmxlIGF0dHJpYnV0ZXMuCgojIyBQcm9w b3NhbAoKV2UgaGF2ZSBzZXZlcmFsIHVuaXRzIG9mIGV4ZWN1dGlvbiBpbiBSdWJ5LCBpbXBsaWNp dGx5IGEgcHJvY2Vzcywgd2hpY2ggaGFzIHRocmVhZHMgd2hpY2ggaGFzIGZpYmVycy4gSW50ZXJu YWxseSwgUnVieSBoYXMgYW4gImV4ZWN1dGlvbiBjb250ZXh0Ii4gRWFjaCBmaWJlciBoYXMgYW4g ZXhlY3V0aW9uIGNvbnRleHQuIEVhY2ggdGhyZWFkIGhhcyBhIG1haW4gZmliZXIgYW5kIGV4ZWN1 dGlvbiBjb250ZXh0LiBJIHByb3Bvc2UgdG8gaW50cm9kdWNlIGFuIGludGVyZmFjZSBmb3IgZGVm aW5pbmcgYSBwZXItZmliZXIgY29udGV4dCB3aGljaCBpcyBzZW1hbnRpY2FsbHkgdmVyeSBzaW1p bGFyIHRvIGR5bmFtaWMgdmFyaWFibGVzLiBUcnVlIGR5bmFtaWMgdmFyaWFibGVzIGFyZSBzdGFj ayBmcmFtZSBzY29wZWQsIGJ1dCBteSBwcm9wb3NhbCBkb2Vzbid0IGdvIHRoYXQgZmFyLiBUaGlz IHByb3Bvc2FsIGlzIHNpbWlsYXIgdG8gS290bGluJ3MgQ29yb3V0aW5lIENvbnRleHRzIDxodHRw czovL2tvdGxpbmxhbmcub3JnL2RvY3MvY29yb3V0aW5lLWNvbnRleHQtYW5kLWRpc3BhdGNoZXJz Lmh0bWw+IGFuZCBKRVAgNDI5OiBFeHRlbnQtTG9jYWwgVmFyaWFibGVzIDxodHRwczovL29wZW5q ZGsub3JnL2plcHMvNDI5Pi4KCmBgYHJ1YnkKcmVxdWlyZSAnZmliZXInCgojIENvbXBhdGlibGUg c2hpbSB0byBpbnRyb2R1Y2UgcHJvcG9zZWQgYmVoYXZpb3VyOgpjbGFzcyBGaWJlcgogIG1vZHVs ZSBJbmhlcml0YWJsZQogICAgZGVmIGluaXRpYWxpemUoLi4uKQogICAgICBzdXBlciguLi4pCiAg ICAgIAogICAgICBzZWxmLmluaGVyaXRfYXR0cmlidXRlc19mcm9tKEZpYmVyLmN1cnJlbnQpCiAg ICBlbmQKICAgIAogICAgZGVmIHNlbGYucHJlcGVuZGVkKGtsYXNzKQogICAgICBrbGFzcy5leHRl bmQoU2luZ2xldG9uKQogICAgICBrbGFzcy5pbnN0YW5jZV92YXJpYWJsZV9zZXQoOkBpbmhlcml0 YWJsZV9hdHRyaWJ1dGVzLCBIYXNoLm5ldykKICAgIGVuZAogICAgCiAgICBtb2R1bGUgU2luZ2xl dG9uCiAgICAgIGRlZiBpbmhlcml0YWJsZShrZXksIGRlZmF1bHQ6IG5pbCkKICAgICAgICBAaW5o ZXJpdGFibGVfYXR0cmlidXRlc1s6IkAje2tleX0iXSA9IGRlZmF1bHQKICAgICAgZW5kCiAgICAg IAogICAgICBkZWYgaW5oZXJpdGFibGVfYXR0cmlidXRlcwogICAgICAgIEBpbmhlcml0YWJsZV9h dHRyaWJ1dGVzCiAgICAgIGVuZAogICAgZW5kCiAgICAKICAgIGRlZiBpbmhlcml0X2F0dHJpYnV0 ZXNfZnJvbShmaWJlcikKICAgICAgc2VsZi5jbGFzcy5pbmhlcml0YWJsZV9hdHRyaWJ1dGVzLmVh Y2ggZG8gfG5hbWUsIGRlZmF1bHR8CiAgICAgICAgdmFsdWUgPSBmaWJlci5pbnN0YW5jZV92YXJp YWJsZV9nZXQobmFtZSkgfHwgZGVmYXVsdAogICAgICAgIHNlbGYuaW5zdGFuY2VfdmFyaWFibGVf c2V0KG5hbWUsIHZhbHVlKQogICAgICBlbmQKICAgIGVuZAogIGVuZAplbmQKCnVubGVzcyBGaWJl ci5yZXNwb25kX3RvPyg6aW5oZXJpdGFibGUpCiAgRmliZXIucHJlcGVuZChGaWJlcjo6SW5oZXJp dGFibGUpCmVuZApgYGAKClRoaXMgYWxsb3dzIHlvdSB0byB3cml0ZSB0aGUgZm9sbG93aW5nIGNv ZGU6CgpgYGBydWJ5CmNsYXNzIEZpYmVyCiAgaW5oZXJpdGFibGUgYXR0cl9hY2Nlc3NvciA6Y29u bmVjdGlvbgplbmQKCiMgV2hlbiBsYXp5IGVudW1lcmF0b3IgY3JlYXRlcyBpbnRlcm5hbCBmaWJl ciwgdGhlIGNvbm5lY3Rpb24gYW5kIHJlbGF0ZWQgc3RhdGUgd2lsbCBiZSBpbmhlcml0ZWQgY29y cmVjdGx5OgpwIFVzZXIuZmlyc3QoMTAwKS5maW5kX2VhY2guemlwKFBvc3QuZmlyc3QoMTAwKS5m aW5kX2VhY2gpCmBgYAoKVGhpcyBwcm9wb3NlZCBpbXBsZW1lbnRhdGlvbiB3YXMgZGlzY3Vzc2Vk IGhlcmUgdG9vOiA8aHR0cHM6Ly9naXRodWIuY29tL3NvY2tldHJ5L2ZpYmVyLWxvY2FsL3B1bGwv MT4uCgpTb21lIG9wZW4gcXVlc3Rpb25zOgoKLSBTaG91bGQgd2UgaW50cm9kdWNlIHRoZSBzYW1l IGludGVyZmFjZSBmb3IgVGhyZWFkPwotIChvcikgU2hvdWxkIFRocmVhZC5uZXcncyBtYWluIGZp YmVyIGluaGVyaXQgZnJvbSB0aGUgY3VycmVudCBGaWJlcj8KLSBLb3RsaW4ncyBjb3JvdXRpbmUg Y29udGV4dCBjYW4gYmUgc2hhcmVkIGJ1dCBpcyBhbHNvIGltbXV0YWJsZS4gVGhpcyBtYWtlcyBp dCBhIGxpdHRsZSBiaXQgaGFyZGVyIHRvIHVzZS4gU2hvdWxkIHdlIGNvbnNpZGVyIHRoZWlyIGRl c2lnbiBtb3JlIGNsb3NlbHk/Ci0gU2hvdWxkIHdlIGhhdmUgb3B0aW9ucyB0byBieXBhc3MgaW5o ZXJpdGluZyBhdHRyaWJ1dGVzPyBlLmcuIGBGaWJlci5uZXcoaW5oZXJpdF9hdHRyaWJ1dGVzX2Zy b206IC4uLilgLgoKCgoKLS0gCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnLwoKVW5zdWJzY3Jp YmU6IDxtYWlsdG86cnVieS1jb3JlLXJlcXVlc3RAcnVieS1sYW5nLm9yZz9zdWJqZWN0PXVuc3Vi c2NyaWJlPgo8aHR0cDovL2xpc3RzLnJ1YnktbGFuZy5vcmcvY2dpLWJpbi9tYWlsbWFuL29wdGlv bnMvcnVieS1jb3JlPgo=