[#110300] [Ruby master Bug#19057] Hide implementation of `rb_io_t`. — "ioquatix (Samuel Williams)" <noreply@...>
SXNzdWUgIzE5MDU3IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGlvcXVhdGl4IChTYW11ZWwgV2lsbGlh
53 messages
2022/10/15
[ruby-core:110389] [Ruby master Bug#19062] Introduce `Fiber#locals` for shared inheritable state.
From:
"ioquatix (Samuel Williams)" <noreply@...>
Date:
2022-10-18 10:15:04 UTC
List:
ruby-core #110389
SXNzdWUgIzE5MDYyIGhhcyBiZWVuIHVwZGF0ZWQgYnkgaW9xdWF0aXggKFNhbXVlbCBXaWxsaWFt cykuCgoKVGhhbmtzIGZvciB5b3VyIGV4YW1wbGVzLiBJIGFncmVlIHRoZXJlIGFyZSBkaWZmZXJl bnQgd2F5cyB0byBzb2x2ZSB0aGlzIHByb2JsZW0uCgpUaGUga2V5IG1vZGVsIEknbSB0cnlpbmcg dG8gaW50cm9kdWNlIGlzIGEgc2hhcmVkIHN0YXRlICJwZXIgcmVxdWVzdCIuIEl0J3MgYWN0dWFs bHkgc2ltaWxhciB0byA8aHR0cHM6Ly9naXRodWIuY29tL3N0ZXZla2xhYm5pay9yZXF1ZXN0X3N0 b3JlPiBpbiBhIGxvdCBvZiB3YXlzLgoKSSdtIGNvbmNlcm5lZCBhYm91dCB0aGUgbWVtb3J5IGFu ZCBwZXJmb3JtYW5jZSBjb3N0IG9mIGNhbGxpbmcgZHVwIHBlciBmaWJlci4KCkknbSBhbHNvIGNv bmNlcm5lZCBhYm91dCBoaWRkZW4gZmliZXJzIChhbmQgdGhyZWFkcykgY2F1c2luZyB0aGUgdmlz aWJsZSBiZWhhdmlvdXIgdG8gY2hhbmdlIHVuZXhwZWN0ZWRseS4KCkl0IGFsc28gcHJldmVudHMg c2hhcmVkIG9wdGltaXNhdGlvbnMgd2hpY2ggaXMgc29tZXRoaW5nIEkgd2FudCB0byB1c2UgZm9y IG15IGNvbm5lY3Rpb24gcG9vbCBjb2RlLgoKYGBgcnVieQpkZWYgY29ubmVjdGlvbl9wb29sCiAg RmliZXJbOmNvbm5lY3Rpb25fcG9vbF0gfHw9IENvbm5lY3Rpb25Qb29sLm5ldwplbmQKYGBgCgpT Y2VuYXJpbyAxOgoKYGBgcnVieQpjb25uZWN0aW9uX3Bvb2wucXVlcnkoLi4uKQoKRmliZXIubmV3 IGRvCiAgIyBSZXVzZSBjb25uZWN0aW9uIHBvb2w6CiAgY29ubmVjdGlvbl9wb29sLnF1ZXJ5KC4u LikKZW5kLnJlc3VtZQpgYGAKClNjZW5hcmlvIDI6CgpgYGBydWJ5CkZpYmVyLm5ldyBkbwogIGNv bm5lY3Rpb25fcG9vbC5xdWVyeSguLi4pCmVuZC5yZXN1bWUKCmNvbm5lY3Rpb25fcG9vbC5xdWVy eSAjIG9oIG5vLCBpdCB3aWxsIGNyZWF0ZSBhIDJuZCBjb25uZWN0aW9uIHBvb2wuCmBgYAoKSXQg YWxzbyBzdGFuZHMgdG8gcmVhc29uLCB0aGF0IGV2ZW4gaWYgd2UgZm9sbG93ZWQgeW91ciBzdWdn ZXN0aW9uLCBzaW1wbHkgaGF2aW5nIGBGaWJlci5jdXJlbnQubG9jYWxzWzpzaGFyZWRdID0ge31g IGF0IHRoZSB2ZXJ5IHJvb3QgcmVpbnRyb2R1Y2VzIHRoZSBzYW1lIGJlaGF2aW91ciBhcyBJJ20g cHJvcG9zaW5nLCBzbyBpdCdzIHVuYXZvaWRhYmxlLgoKSSBmZWVsIHRoYXQgdGhlIGN1cnJlbnQg UFIgaXMgcHJhZ21hdGljLCBzbWFsbCwgYW5kIGVmZmljaWVudCwgYW5kIHNvbHZlcyBhIGZhaXJs eSBmdW5kYW1lbnRhbCBwcm9ibGVtLgoKSSB1bmRlcnN0YW5kIHRoZSBzZW1hbnRpYyB2YWx1ZSBp biBhbHdheXMgY2FsbGluZyBkdXAsIGJ1dCBhcyBvZiByaWdodCBub3csIEknbSBub3QgY29udmlu Y2VkIHRoYXQgc2VtYW50aWMgbW9kZWwgb3V0d2VpZ2hzIHRoZSBwcmFjdGljYWwgaXNzdWVzIGxp c3RlZCBhYm92ZS4gSSBjYW4gYmUgY29udmluY2VkIG9mIGNvdXJzZSEgQnV0IGVzcGVjaWFsbHkg dGhlIHBlcmZvcm1hbmNlIGNvc3QgY29uY2VybnMgbWUgYSBsb3QsIGJlY2F1c2UgQXN5bmMgZW5j b3VyYWdlcyBsb3RzIG9mIHNob3J0IGxpdmVkIGZpYmVycy4KCgotLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCkJ1ZyAjMTkwNjI6IEludHJvZHVjZSBgRmliZXIjbG9jYWxz YCBmb3Igc2hhcmVkIGluaGVyaXRhYmxlIHN0YXRlLgpodHRwczovL2J1Z3MucnVieS1sYW5nLm9y Zy9pc3N1ZXMvMTkwNjIjY2hhbmdlLTk5Njk1CgoqIEF1dGhvcjogaW9xdWF0aXggKFNhbXVlbCBX aWxsaWFtcykKKiBTdGF0dXM6IE9wZW4KKiBQcmlvcml0eTogTm9ybWFsCiogQXNzaWduZWU6IGlv cXVhdGl4IChTYW11ZWwgV2lsbGlhbXMpCiogQmFja3BvcnQ6IDIuNzogVU5LTk9XTiwgMy4wOiBV TktOT1dOLCAzLjE6IFVOS05PV04KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQpBZnRlciBleHBsb3JpbmcgPGh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnL2lzc3Vlcy8x OTA1OD4sIEkgZmVsdCB1bmNvbWZvcnRhYmxlIGFib3V0IHRoZSBwZXJmb3JtYW5jZSBvZiBjb3B5 aW5nIGxvdHMgb2YgaW5oZXJpdGFibGUgYXR0cmlidXRlcy4gUGxlYXNlIHJldmlldyB0aGF0IGlz c3VlIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgc3VtbWFyeSBvZiB0aGUgcHJvYmxlbS4KCiMjIFBy b3Bvc2FsCgpJbnRyb2R1Y2UgYEZpYmVyI2xvY2Fsc2Agd2hpY2ggaXMgYSBoYXNoIHRhYmxlIG9m IGxvY2FsIGF0dHJpYnV0ZXMgd2hpY2ggYXJlIGluaGVyaXRlZCBieSBjaGlsZCBmaWJlcnMuCgpg YGBydWJ5CkZpYmVyLmN1cnJlbnQubG9jYWxzWzp4XSA9IDEwCgpGaWJlci5uZXcgZG8KICBwcCBG aWJlci5jdXJyZW50LmxvY2Fsc1s6eF0gIyA9PiAxMAplbmQKYGBgCgpJdCdzIHBvc3NpYmxlIHRv IHJlc2V0IGBGaWJlci5jdXJyZW50LmxvY2Fsc2AsIGUuZy4KCmBgYHJ1YnkKZGVmIGFjY2VwdF9j b25uZWN0aW9uKHBlZXIpCiAgRmliZXIubmV3KGxvY2FsczogbmlsKSBkbyAjIFRoaXMgY2F1c2Vz IGEgbmV3IGhhc2ggdGFibGUgdG8gYmUgYWxsb2NhdGVkLgogICAgIyBHZW5lcmF0ZSBhIG5ldyBy ZXF1ZXN0IGlkIGZvciBhbGwgZmliZXJzIG5lc3RlZCBpbiB0aGlzIG9uZToKICAgIEZpYmVyWzpy ZXF1ZXN0X2lkXSA9IFNlY3VyZVJhbmRvbS5oZXgoMzIpCiAgICBAYXBwLmNhbGwoZW52KQogIGVu ZC5yZXN1bWUKZW5kCmBgYAoKQSBoaWdoIGxldmVsIG92ZXJ2aWV3IG9mIHRoZSBwcm9wb3NlZCBj aGFuZ2VzOgoKYGBgcnVieQpjbGFzcyBGaWJlcgogIGRlZiBpbml0aWFsaXplKC4uLiwgbG9jYWxz OiBGaWJlci5jdXJyZW50LmxvY2FscykKICAgIEBsb2NhbHMgPSBsb2NhbHMgfHwgSGFzaC5uZXcK ICBlbmQKCiAgYXR0cl9hY2Nlc3NvciA6bG9jYWxzCgogIGRlZiBzZWxmLltdIGtleQogICAgc2Vs Zi5jdXJyZW50LmxvY2Fsc1trZXldCiAgZW5kCgogIGRlZiBzZWxmLltdPSBrZXksIHZhbHVlCiAg ICBzZWxmLmN1cnJlbnQubG9jYWxzW2tleV0gPSB2YWx1ZQogIGVuZAplbmQKYGBgCgpTZWUgdGhl IHB1bGwgcmVxdWVzdCA8aHR0cHM6Ly9naXRodWIuY29tL3J1YnkvcnVieS9wdWxsLzY1NjY+IGZv ciB0aGUgZnVsbCBwcm9wb3NlZCBpbXBsZW1lbnRhdGlvbi4KCiMjIEV4cGVjdGVkIFVzYWdlCgpD dXJyZW50bHksIGEgbG90IG9mIGxpYnJhcmllcyB1c2UgYFRocmVhZC5jdXJyZW50Wzp4XWAgd2hp Y2ggaXMgdW5leHBlY3RlZGx5ICJmaWJlciBsb2NhbCIuIEEgY29tbW9uIGJ1ZyBzaG93cyB1cCB3 aGVuIGxhenkgZW51bWVyYXRvcnMgYXJlIHVzZWQsIGJlY2F1c2UgaXQgbWF5IGNyZWF0ZSBhbiBp bnRlcm5hbCBmaWJlci4gQmVjYXVzZSBgbG9jYWxzYCBhcmUgaW5oZXJpdGVkLCBjb2RlIHdoaWNo IHVzZXMgYEZpYmVyWzp4XWAgd2lsbCBub3Qgc3VmZmVyIGZyb20gdGhpcyBwcm9ibGVtLgoKQW55 IHByb2dyYW0gdGhhdCB1c2VzIHRydWUgdGhyZWFkIGxvY2FscyBmb3IgcGVyLXJlcXVlc3Qgc3Rh dGUsIGNhbiBhZG9wdCB0aGUgcHJvcG9zZWQgYEZpYmVyI2xvY2Fsc2AgYW5kIGdldCBzaW1pbGFy IGJlaGF2aW91ciwgd2l0aG91dCBicmVha2luZyBvbiBwZXItZmliZXIgc2VydmVycyBsaWtlIEZh bGNvbiwgYmVjYXVzZSBGYWxjb24gY2FuICJyZXNldCIgYEZpYmVyLmN1cnJlbnQubG9jYWxzYCBm b3IgZWFjaCByZXF1ZXN0IGZpYmVyLCB3aGlsZSBzZXJ2ZXJzIGxpa2UgUHVtYSB3b24ndCBoYXZl IHRvIGRvIHRoYXQgYW5kIHdpbGwgcmV0YWluIHRocmVhZC1sb2NhbCBiZWhhdmlvdXIuCgpMaWJy YXJpZXMgbGlrZSBBY3RpdmVSZWNvcmQgY2FuIGFkb3B0IGBGaWJlciNsb2NhbHNgIHRvIGF2b2lk IHRoZSBuZWVkIGZvciB1c2VycyB0byBvcHQgaW50byBkaWZmZXJlbnQgIklzb2xhdGVkRXhlY3V0 aW9uU3RhdGUiIG1vZGVscywgc2luY2UgaXQgY2FuIGJlIHRyYW5zcGFyZW50bHkgaGFuZGxlZCBi eSB0aGUgd2ViIHNlcnZlciAoc2VlIDxodHRwczovL2dpdGh1Yi5jb20vcmFpbHMvcmFpbHMvcHVs bC80MzU5Nj4gZm9yIG1vcmUgZGV0YWlscykuCgpXZSBob3BlIGJ5IGludHJvZHVjaW5nIGBGaWJl ciNsb2NhbHNgLCB3ZSBjYW4gYXZvaWQgYWxsIHRoZSBjb25mdXNpb24gYW5kIGJ1Z3Mgb2YgdGhl IHBhc3QgZGVzaWducy4KCgoKLS0gCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnLwoKVW5zdWJz Y3JpYmU6IDxtYWlsdG86cnVieS1jb3JlLXJlcXVlc3RAcnVieS1sYW5nLm9yZz9zdWJqZWN0PXVu c3Vic2NyaWJlPgo8aHR0cDovL2xpc3RzLnJ1YnktbGFuZy5vcmcvY2dpLWJpbi9tYWlsbWFuL29w dGlvbnMvcnVieS1jb3JlPgo=