[#110300] [Ruby master Bug#19057] Hide implementation of `rb_io_t`. — "ioquatix (Samuel Williams)" <noreply@...>
SXNzdWUgIzE5MDU3IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGlvcXVhdGl4IChTYW11ZWwgV2lsbGlh
53 messages
2022/10/15
[ruby-core:110374] [Ruby master Bug#19062] Introduce `Fiber#locals` for shared inheritable state.
From:
"ioquatix (Samuel Williams)" <noreply@...>
Date:
2022-10-17 19:42:33 UTC
List:
ruby-core #110374
SXNzdWUgIzE5MDYyIGhhcyBiZWVuIHVwZGF0ZWQgYnkgaW9xdWF0aXggKFNhbXVlbCBXaWxsaWFt cykuCgoKVGhlIG9ubHkgdGhpbmcgSSByZWFsbHkgY2FyZSBhYm91dCBpcyBhbiBlZmZpY2llbnQg d2F5IHRvIGltcGxpY2l0bHkgc2hhcmUgc3BlY2lmaWMgc3RhdGUgd2l0aGluIGFuIGV4ZWN1dGlv biBjb250ZXh0LgoKYGBgCmxldCh4ID0gMTApIGRvCiAgVGhyZWFkLm5ldyBkbwogICAgZ2V0KHgp ICMgPT4gMTAKICBlbmQKCiAgRW51bWVyYXRvci5uZXcgZG8KICAgIGdldCh4KSAjID0+IDEwCiAg ZW5kCmVuZApgYGAKCkxpbWl0aW5nIHZhcmlhYmxlIGJpbmRpbmcgdG8gc29tZSBraW5kIG9mIGBs ZXRgIGJsb2NrIGlzIGEgYml0IGxpbWl0aW5nIGFuZCBwcmV2ZW50cyBsb3RzIG9mIHVzZSBjYXNl cyB3aGljaCBhcmUgY29tbW9uIGluIFJ1YnkuIEknbSBva2F5IHdpdGggRmliZXJzIChyZWFkIGV4 ZWN1dGlvbiBjb250ZXh0cykgYmVpbmcgdGhlIGltcGxpY2l0IHNjb3BlIGJlY2F1c2UgaXQncyBw cmV0dHkgbXVjaCBuYXR1cmFsIGZvciBtb3N0IHByYWN0aWNhbCB1c2UgY2FzZXMuCgpgYGAKRmli ZXIvVGhyZWFkLm5ldyBkbyAjIEFuIGV4ZWN1dGlvbiBjb250ZXh0CiAgc2V0KHgpCiAgVGhyZWFk Lm5ldyBkbwogICAgZ2V0KHgpICMgPT4gMTAKICBlbmQuam9pbgoKICBzZXQoeCwgMjApCiAgRW51 bWVyYXRvci5uZXcgZG8KICAgIGdldCh4LCAyMCkgIyA9PiAyMAogIGVuZAplbmQKYGBgCgpUaGF0 IG1lYW5zIGFsbCB0aGUgRUNzIHNoYXJlIGEgc2luZ2xlIG11dGFibGUgc2V0IG9mIGxvY2Fscy4g SXQncyBiYXNpY2FsbHkgdGhlIHNhbWUgYXMgYSBsb2NhbCB2YXJpYWJsZSBib3VuZCBleGNlcHQg cmF0aGVyIHRoYW4gbGV4aWNhbCBzY29wZSwgaXQncyBkeW5hbWljIGJhc2VkIG9uIHRoZSBFQ3Mu CgpUaGVyZSBhcmUgdHdvIGxldmVscyBvZiBtdXRhYmlsaXR5OgoKMS4gVGhlIGFiaWxpdHkgdG8g YmluZCBrZXktdmFsdWVzLgoyLiBUaGUgYWJpbGl0eSBmb3IgdmFsdWVzIHRoZW1zZWx2ZXMgdG8g bXV0YXRlLgoKSSB3b3VsZCBhcmd1ZSB0aGF0IHNpbmNlIHdlIGNhbid0IHByYWN0aWNhbGx5IHBy ZXZlbnQgKDIpLCB0cnlpbmcgdG8gcHJldmVudCAoMSkgaXMgcG9pbnRsZXNzLiBIb3dldmVyLCBm ZWVsIGZyZWUgdG8gY29udmluY2UgbWUgb3RoZXJ3aXNlLgoKSSdkIGJlIG9rYXkgd2l0aCBhIGNv cHktb24td3JpdGUgc2NoZW1lIHdoZXJlIHRoZSBmaXJzdCB1cGRhdGUgd291bGQgcGF5IHRoZSBj b3N0IG9mIHRoZSBpbnRlcm5hbCBjb3B5LCBzaW5jZSB3ZSBleHBlY3Qgd3JpdGVzIHRvIGJlIG11 Y2ggbGVzcyBmcmVxdWVudCB0aGFuIHJlYWRzIGFuZCBjbG9uZXMsIGJvdGggb2Ygd2hpY2ggbmVl ZCB0byBiZSBPKDEpIHdoZXJlIHBvc3NpYmxlLgoKV2hhdGV2ZXIgbW9kZWwgd2UgY29tZSB1cCB3 aXRoLCBpdCBtYWtlcyBzZW5zZSB0aGF0IHRocmVhZHMgYW5kIGZpYmVycyBhcmUgaGFuZGxlZCBj b25zaXN0ZW50bHksIGkuZS4gSSdtIG5vdCBzdXJlIHRoYXQgYFRocmVhZC5uZXdgIG5lZWRzIHRv IGR1cCB0aGUgbG9jYWxzLiBJdCdzIG5vdCB0aHJlYWQgdW5zYWZlIHRvIHVwZGF0ZSB0aGUgbG9j YWxzIGluIFJ1YnkgYmVjYXVzZSBvZiB0aGUgR1ZMLiBJdCdzIGp1c3QgcG9vcmx5IHN5bmNocm9u aXNlZC4gSWYgdXNlcnMgY2hvb3NlIHRvIHdyaXRlIHRoYXQga2luZCBvZiBjb2RlLCB0aGV5J2Qg bmVlZCB0byBwcm92aWRlIHRoZWlyIG93biBsb2NraW5nLCB3aGljaCBJIHRoaW5rIGlzIGFjY2Vw dGFibGUgdG9vLgoKV2hlbiB5b3Ugc2F5IHNvbWV0aGluZyBsaWtlICJJdCBzZWVtcyBleHRyZW1l bHkgdW5zYWZlIHRvIGluaGVyaXQgYnkgZGVmYXVsdCBhY3Jvc3MgdGhyZWFkcyB0byBtZSIgSSB3 b3VsZCBwZXJzb25hbGx5IGxpa2UgdG8gc2VlIHRoZSBjb2RlIGV4YW1wbGUgd2hlcmUgaXQncyB1 bnNhZmUsIG90aGVyd2lzZSBpdCdzIGhhcmQgZm9yIG1lIHRvIHVuZGVyc3RhbmQgZXhhY3RseSB3 aGF0IHRoZSBwcm9ibGVtIGlzIGFuZC9vciBob3cgd2UgY291bGQgYWRkcmVzcyBpdC4KCi0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQnVnICMxOTA2MjogSW50cm9kdWNl IGBGaWJlciNsb2NhbHNgIGZvciBzaGFyZWQgaW5oZXJpdGFibGUgc3RhdGUuCmh0dHBzOi8vYnVn cy5ydWJ5LWxhbmcub3JnL2lzc3Vlcy8xOTA2MiNjaGFuZ2UtOTk2NjcKCiogQXV0aG9yOiBpb3F1 YXRpeCAoU2FtdWVsIFdpbGxpYW1zKQoqIFN0YXR1czogT3BlbgoqIFByaW9yaXR5OiBOb3JtYWwK KiBBc3NpZ25lZTogaW9xdWF0aXggKFNhbXVlbCBXaWxsaWFtcykKKiBCYWNrcG9ydDogMi43OiBV TktOT1dOLCAzLjA6IFVOS05PV04sIDMuMTogVU5LTk9XTgotLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCkFmdGVyIGV4cGxvcmluZyA8aHR0cHM6Ly9idWdzLnJ1YnktbGFu Zy5vcmcvaXNzdWVzLzE5MDU4PiwgSSBmZWx0IHVuY29tZm9ydGFibGUgYWJvdXQgdGhlIHBlcmZv cm1hbmNlIG9mIGNvcHlpbmcgbG90cyBvZiBpbmhlcml0YWJsZSBhdHRyaWJ1dGVzLiBQbGVhc2Ug cmV2aWV3IHRoYXQgaXNzdWUgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBzdW1tYXJ5IG9mIHRoZSBw cm9ibGVtLgoKIyMgUHJvcG9zYWwKCkludHJvZHVjZSBgRmliZXIjbG9jYWxzYCB3aGljaCBpcyBh IGhhc2ggdGFibGUgb2YgbG9jYWwgYXR0cmlidXRlcyB3aGljaCBhcmUgaW5oZXJpdGVkIGJ5IGNo aWxkIGZpYmVycy4KCmBgYHJ1YnkKRmliZXIuY3VycmVudC5sb2NhbHNbOnhdID0gMTAKCkZpYmVy Lm5ldyBkbwogIHBwIEZpYmVyLmN1cnJlbnQubG9jYWxzWzp4XSAjID0+IDEwCmVuZApgYGAKCkl0 J3MgcG9zc2libGUgdG8gcmVzZXQgYEZpYmVyLmN1cnJlbnQubG9jYWxzYCwgZS5nLgoKYGBgcnVi eQpkZWYgYWNjZXB0X2Nvbm5lY3Rpb24ocGVlcikKICBGaWJlci5uZXcobG9jYWxzOiBuaWwpIGRv ICMgVGhpcyBjYXVzZXMgYSBuZXcgaGFzaCB0YWJsZSB0byBiZSBhbGxvY2F0ZWQuCiAgICAjIEdl bmVyYXRlIGEgbmV3IHJlcXVlc3QgaWQgZm9yIGFsbCBmaWJlcnMgbmVzdGVkIGluIHRoaXMgb25l OgogICAgRmliZXJbOnJlcXVlc3RfaWRdID0gU2VjdXJlUmFuZG9tLmhleCgzMikKICAgIEBhcHAu Y2FsbChlbnYpCiAgZW5kLnJlc3VtZQplbmQKYGBgCgpBIGhpZ2ggbGV2ZWwgb3ZlcnZpZXcgb2Yg dGhlIHByb3Bvc2VkIGNoYW5nZXM6CgpgYGBydWJ5CmNsYXNzIEZpYmVyCiAgZGVmIGluaXRpYWxp emUoLi4uLCBsb2NhbHM6IEZpYmVyLmN1cnJlbnQubG9jYWxzKQogICAgQGxvY2FscyA9IGxvY2Fs cyB8fCBIYXNoLm5ldwogIGVuZAoKICBhdHRyX2FjY2Vzc29yIDpsb2NhbHMKCiAgZGVmIHNlbGYu W10ga2V5CiAgICBzZWxmLmN1cnJlbnQubG9jYWxzW2tleV0KICBlbmQKCiAgZGVmIHNlbGYuW109 IGtleSwgdmFsdWUKICAgIHNlbGYuY3VycmVudC5sb2NhbHNba2V5XSA9IHZhbHVlCiAgZW5kCmVu ZApgYGAKClNlZSB0aGUgcHVsbCByZXF1ZXN0IDxodHRwczovL2dpdGh1Yi5jb20vcnVieS9ydWJ5 L3B1bGwvNjU2Nj4gZm9yIHRoZSBmdWxsIHByb3Bvc2VkIGltcGxlbWVudGF0aW9uLgoKIyMgRXhw ZWN0ZWQgVXNhZ2UKCkN1cnJlbnRseSwgYSBsb3Qgb2YgbGlicmFyaWVzIHVzZSBgVGhyZWFkLmN1 cnJlbnRbOnhdYCB3aGljaCBpcyB1bmV4cGVjdGVkbHkgImZpYmVyIGxvY2FsIi4gQSBjb21tb24g YnVnIHNob3dzIHVwIHdoZW4gbGF6eSBlbnVtZXJhdG9ycyBhcmUgdXNlZCwgYmVjYXVzZSBpdCBt YXkgY3JlYXRlIGFuIGludGVybmFsIGZpYmVyLiBCZWNhdXNlIGBsb2NhbHNgIGFyZSBpbmhlcml0 ZWQsIGNvZGUgd2hpY2ggdXNlcyBgRmliZXJbOnhdYCB3aWxsIG5vdCBzdWZmZXIgZnJvbSB0aGlz IHByb2JsZW0uCgpBbnkgcHJvZ3JhbSB0aGF0IHVzZXMgdHJ1ZSB0aHJlYWQgbG9jYWxzIGZvciBw ZXItcmVxdWVzdCBzdGF0ZSwgY2FuIGFkb3B0IHRoZSBwcm9wb3NlZCBgRmliZXIjbG9jYWxzYCBh bmQgZ2V0IHNpbWlsYXIgYmVoYXZpb3VyLCB3aXRob3V0IGJyZWFraW5nIG9uIHBlci1maWJlciBz ZXJ2ZXJzIGxpa2UgRmFsY29uLCBiZWNhdXNlIEZhbGNvbiBjYW4gInJlc2V0IiBgRmliZXIuY3Vy cmVudC5sb2NhbHNgIGZvciBlYWNoIHJlcXVlc3QgZmliZXIsIHdoaWxlIHNlcnZlcnMgbGlrZSBQ dW1hIHdvbid0IGhhdmUgdG8gZG8gdGhhdCBhbmQgd2lsbCByZXRhaW4gdGhyZWFkLWxvY2FsIGJl aGF2aW91ci4KCkxpYnJhcmllcyBsaWtlIEFjdGl2ZVJlY29yZCBjYW4gYWRvcHQgYEZpYmVyI2xv Y2Fsc2AgdG8gYXZvaWQgdGhlIG5lZWQgZm9yIHVzZXJzIHRvIG9wdCBpbnRvIGRpZmZlcmVudCAi SXNvbGF0ZWRFeGVjdXRpb25TdGF0ZSIgbW9kZWxzLCBzaW5jZSBpdCBjYW4gYmUgdHJhbnNwYXJl bnRseSBoYW5kbGVkIGJ5IHRoZSB3ZWIgc2VydmVyIChzZWUgPGh0dHBzOi8vZ2l0aHViLmNvbS9y YWlscy9yYWlscy9wdWxsLzQzNTk2PiBmb3IgbW9yZSBkZXRhaWxzKS4KCldlIGhvcGUgYnkgaW50 cm9kdWNpbmcgYEZpYmVyI2xvY2Fsc2AsIHdlIGNhbiBhdm9pZCBhbGwgdGhlIGNvbmZ1c2lvbiBh bmQgYnVncyBvZiB0aGUgcGFzdCBkZXNpZ25zLgoKCgotLSAKaHR0cHM6Ly9idWdzLnJ1YnktbGFu Zy5vcmcvCgpVbnN1YnNjcmliZTogPG1haWx0bzpydWJ5LWNvcmUtcmVxdWVzdEBydWJ5LWxhbmcu b3JnP3N1YmplY3Q9dW5zdWJzY3JpYmU+CjxodHRwOi8vbGlzdHMucnVieS1sYW5nLm9yZy9jZ2kt YmluL21haWxtYW4vb3B0aW9ucy9ydWJ5LWNvcmU+Cg==