[#110300] [Ruby master Bug#19057] Hide implementation of `rb_io_t`. — "ioquatix (Samuel Williams)" <noreply@...>
SXNzdWUgIzE5MDU3IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGlvcXVhdGl4IChTYW11ZWwgV2lsbGlh
53 messages
2022/10/15
[ruby-core:110394] [Ruby master Bug#19062] Introduce `Fiber#locals` for shared inheritable state.
From:
"Eregon (Benoit Daloze)" <noreply@...>
Date:
2022-10-18 11:05:25 UTC
List:
ruby-core #110394
SXNzdWUgIzE5MDYyIGhhcyBiZWVuIHVwZGF0ZWQgYnkgRXJlZ29uIChCZW5vaXQgRGFsb3plKS4K Cgo+IEl0J3Mgbm90IHRocmVhZCB1bnNhZmUgdG8gdXBkYXRlIHRoZSBsb2NhbHMgaW4gUnVieSBi ZWNhdXNlIG9mIHRoZSBHVkwuCgpXZSBzaG91bGQgbm90IGRlc2lnbiBnZW5lcmFsIHNlbWFudGlj cyBiYXNlZCBvbiBhIENSdWJ5LW9ubHkgaW1wbGVtZW50YXRpb24gZGV0YWlsLgpJdCBpcyB0aHJl YWQgdW5zYWZlIGFuZCBjb3VsZCBjcmFzaCBvdGhlciBSdWJ5IGltcGxlbWVudGF0aW9ucyBmb3Ig aW5zdGFuY2UuIAoKSSBhZ3JlZSB3aXRoIHdoYXQgQGJ5cm9vdCBzYXlzLgpJZiBpdCdzIHNvbWUg c29ydCBvZiAibG9jYWwveC1sb2NhbCIgdGhlbiBJIGV4cGVjdCBzYXZlL3Jlc3RvcmUgbGlrZSBg d2l0aF9sb2dfbGV2ZWxgIHRvIHdvcmsgY29ycmVjdGx5LCB0byBoYXZlIG11dGF0aW9ucyBpc29s YXRlZCBwZXIgRmliZXIsIGV0Yy4KCj4gV2hlbiB5b3Ugc2F5IHNvbWV0aGluZyBsaWtlICJJdCBz ZWVtcyBleHRyZW1lbHkgdW5zYWZlIHRvIGluaGVyaXQgYnkgZGVmYXVsdCBhY3Jvc3MgdGhyZWFk cyB0byBtZSIgSSB3b3VsZCBwZXJzb25hbGx5IGxpa2UgdG8gc2VlIHRoZSBjb2RlIGV4YW1wbGUg d2hlcmUgaXQncyB1bnNhZmUsIG90aGVyd2lzZSBpdCdzIGhhcmQgZm9yIG1lIHRvIHVuZGVyc3Rh bmQgZXhhY3RseSB3aGF0IHRoZSBwcm9ibGVtIGlzIGFuZC9vciBob3cgd2UgY291bGQgYWRkcmVz cyBpdC4KCkV4YW1wbGU6CmBgYHJ1YnkKRmliZXIuY3VycmVudC5sb2NhbHNbOmRiX2Nvbm5lY3Rp b25dID0gc29tZV9JTwpUaHJlYWQubmV3IHsgRmliZXIuY3VycmVudC5sb2NhbHNbOmRiX2Nvbm5l Y3Rpb25dLnF1ZXJ5KC4uLikgfQpUaHJlYWQubmV3IHsgRmliZXIuY3VycmVudC5sb2NhbHNbOmRi X2Nvbm5lY3Rpb25dLnF1ZXJ5KC4uLikgfQpgYGAKClRoaXMgYmFkbHkgYnJlYWtzIHRoZSBhcHBs aWNhdGlvbiBiZWNhdXNlIHRoZSBmZCBpcyBpbmNvcnJlY3RseSBzaGFyZWQgYmV0d2VlbiB0aHJl YWRzLgpJZiB0aGUgbmFtZSBpcyAic29tZXRoaW5nIGxvY2FsIiBJJ2QgdGhpbmsgcGVvcGxlIGV4 cGVjdCB0aGUgdmFsdWUgdG8gYWN0dWFsbHkgYmUgYXQgbGVhc3QgRmliZXItbG9jYWwuCgpJIGd1 ZXNzIHRoZSBuYW1lIGlzIHRoZSBmdW5kYW1lbnRhbCBwcm9ibGVtIGhlcmUuIEkgYmVsaWV2ZSB3 aGF0IHlvdSBwcm9wb3NlIGlzIG5vdCByZWxhdGVkIHRvIHdoYXQgbW9zdCBwZW9wbGUgdW5kZXJz dGFuZCBieSAiRmliZXIgbG9jYWxzIi4KCkkgdGhpbmsgYW55IHN1Y2ggc2hhcmluZyBzaG91bGQg YmUgZXhwbGljaXQsIGUuZy46CmBgYHJ1YnkKIyBvciBtYXliZSB3aXRoX2luaGVyaXRlZF9zdGF0 ZQpGaWJlci53aXRoX3NoYXJlZF9zdGF0ZSh7IGNvbm5lY3Rpb25fcG9vbDogcG9vbCB9LCBpbmhl cml0ZWRfYnk6IEZpYmVyIC8gW0ZpYmVyLCBUaHJlYWRdKSB7CiAgVGhyZWFkLm5ldyB7CiAgICBG aWJlci5jdXJyZW50LnNoYXJlZF9zdGF0ZSg6Y29ubmVjdGlvbl9wb29sKSAjID0+IHBvb2wKICB9 CiAgRmliZXIubmV3IHsKICAgIEZpYmVyLmN1cnJlbnQuc2hhcmVkX3N0YXRlKDpjb25uZWN0aW9u X3Bvb2wpICMgPT4gcG9vbAogIH0ucmVzdW1lCn0KYGBgCgpCVFcgSmF2YSBoYXM6CiogaHR0cHM6 Ly9kb2NzLm9yYWNsZS5jb20vamF2YXNlLzcvZG9jcy9hcGkvamF2YS9sYW5nL0luaGVyaXRhYmxl VGhyZWFkTG9jYWwuaHRtbCwgaS5lLiwgYSB3YXkgdG8gbWFyayB3aGljaCBGaWJlci1sb2NhbCBz aG91bGQgYmUgaW5oZXJpdGVkCiogaHR0cHM6Ly9kb3dubG9hZC5qYXZhLm5ldC9qYXZhL2Vhcmx5 X2FjY2Vzcy9sb29tL2RvY3MvYXBpL2phdmEuYmFzZS9qYXZhL2xhbmcvVGhyZWFkLkJ1aWxkZXIu aHRtbCNhbGxvd1NldFRocmVhZExvY2Fscyhib29sZWFuKSB3aGljaCBzYXlzIGBTZXRzIHdoZXRo ZXIgdGhlIHRocmVhZCBpcyBhbGxvd2VkIHRvIHNldCB2YWx1ZXMgZm9yIGl0cyBjb3B5IG9mIHRo cmVhZC1sb2NhbCB2YXJpYWJsZXMuYC4gU28gdGhlIGludHVpdGl2ZSB0aGluZyBvZiBoYXZpbmcg YSBjb3B5IHBlciB0aHJlYWQuCiogaHR0cHM6Ly9jci5vcGVuamRrLmphdmEubmV0L35ycHJlc3Ns ZXIvbG9vbS9sb29tL3NvbDFfcGFydDIuaHRtbCB0YWxrcyBhYm91dCBzY29wZWQgdmFyaWFibGVz LCB3aGljaCBzZWVtcyBjbG9zZXIgdG8gd2hhdCB5b3Ugd2FudAoKLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpCdWcgIzE5MDYyOiBJbnRyb2R1Y2UgYEZpYmVyI2xvY2Fs c2AgZm9yIHNoYXJlZCBpbmhlcml0YWJsZSBzdGF0ZS4KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5v cmcvaXNzdWVzLzE5MDYyI2NoYW5nZS05OTcwMAoKKiBBdXRob3I6IGlvcXVhdGl4IChTYW11ZWwg V2lsbGlhbXMpCiogU3RhdHVzOiBPcGVuCiogUHJpb3JpdHk6IE5vcm1hbAoqIEFzc2lnbmVlOiBp b3F1YXRpeCAoU2FtdWVsIFdpbGxpYW1zKQoqIEJhY2twb3J0OiAyLjc6IFVOS05PV04sIDMuMDog VU5LTk9XTiwgMy4xOiBVTktOT1dOCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KQWZ0ZXIgZXhwbG9yaW5nIDxodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMv MTkwNTg+LCBJIGZlbHQgdW5jb21mb3J0YWJsZSBhYm91dCB0aGUgcGVyZm9ybWFuY2Ugb2YgY29w eWluZyBsb3RzIG9mIGluaGVyaXRhYmxlIGF0dHJpYnV0ZXMuIFBsZWFzZSByZXZpZXcgdGhhdCBp c3N1ZSBmb3IgdGhlIGJhY2tncm91bmQgYW5kIHN1bW1hcnkgb2YgdGhlIHByb2JsZW0uCgojIyBQ cm9wb3NhbAoKSW50cm9kdWNlIGBGaWJlciNsb2NhbHNgIHdoaWNoIGlzIGEgaGFzaCB0YWJsZSBv ZiBsb2NhbCBhdHRyaWJ1dGVzIHdoaWNoIGFyZSBpbmhlcml0ZWQgYnkgY2hpbGQgZmliZXJzLgoK YGBgcnVieQpGaWJlci5jdXJyZW50LmxvY2Fsc1s6eF0gPSAxMAoKRmliZXIubmV3IGRvCiAgcHAg RmliZXIuY3VycmVudC5sb2NhbHNbOnhdICMgPT4gMTAKZW5kCmBgYAoKSXQncyBwb3NzaWJsZSB0 byByZXNldCBgRmliZXIuY3VycmVudC5sb2NhbHNgLCBlLmcuCgpgYGBydWJ5CmRlZiBhY2NlcHRf Y29ubmVjdGlvbihwZWVyKQogIEZpYmVyLm5ldyhsb2NhbHM6IG5pbCkgZG8gIyBUaGlzIGNhdXNl cyBhIG5ldyBoYXNoIHRhYmxlIHRvIGJlIGFsbG9jYXRlZC4KICAgICMgR2VuZXJhdGUgYSBuZXcg cmVxdWVzdCBpZCBmb3IgYWxsIGZpYmVycyBuZXN0ZWQgaW4gdGhpcyBvbmU6CiAgICBGaWJlcls6 cmVxdWVzdF9pZF0gPSBTZWN1cmVSYW5kb20uaGV4KDMyKQogICAgQGFwcC5jYWxsKGVudikKICBl bmQucmVzdW1lCmVuZApgYGAKCkEgaGlnaCBsZXZlbCBvdmVydmlldyBvZiB0aGUgcHJvcG9zZWQg Y2hhbmdlczoKCmBgYHJ1YnkKY2xhc3MgRmliZXIKICBkZWYgaW5pdGlhbGl6ZSguLi4sIGxvY2Fs czogRmliZXIuY3VycmVudC5sb2NhbHMpCiAgICBAbG9jYWxzID0gbG9jYWxzIHx8IEhhc2gubmV3 CiAgZW5kCgogIGF0dHJfYWNjZXNzb3IgOmxvY2FscwoKICBkZWYgc2VsZi5bXSBrZXkKICAgIHNl bGYuY3VycmVudC5sb2NhbHNba2V5XQogIGVuZAoKICBkZWYgc2VsZi5bXT0ga2V5LCB2YWx1ZQog ICAgc2VsZi5jdXJyZW50LmxvY2Fsc1trZXldID0gdmFsdWUKICBlbmQKZW5kCmBgYAoKU2VlIHRo ZSBwdWxsIHJlcXVlc3QgPGh0dHBzOi8vZ2l0aHViLmNvbS9ydWJ5L3J1YnkvcHVsbC82NTY2PiBm b3IgdGhlIGZ1bGwgcHJvcG9zZWQgaW1wbGVtZW50YXRpb24uCgojIyBFeHBlY3RlZCBVc2FnZQoK Q3VycmVudGx5LCBhIGxvdCBvZiBsaWJyYXJpZXMgdXNlIGBUaHJlYWQuY3VycmVudFs6eF1gIHdo aWNoIGlzIHVuZXhwZWN0ZWRseSAiZmliZXIgbG9jYWwiLiBBIGNvbW1vbiBidWcgc2hvd3MgdXAg d2hlbiBsYXp5IGVudW1lcmF0b3JzIGFyZSB1c2VkLCBiZWNhdXNlIGl0IG1heSBjcmVhdGUgYW4g aW50ZXJuYWwgZmliZXIuIEJlY2F1c2UgYGxvY2Fsc2AgYXJlIGluaGVyaXRlZCwgY29kZSB3aGlj aCB1c2VzIGBGaWJlcls6eF1gIHdpbGwgbm90IHN1ZmZlciBmcm9tIHRoaXMgcHJvYmxlbS4KCkFu eSBwcm9ncmFtIHRoYXQgdXNlcyB0cnVlIHRocmVhZCBsb2NhbHMgZm9yIHBlci1yZXF1ZXN0IHN0 YXRlLCBjYW4gYWRvcHQgdGhlIHByb3Bvc2VkIGBGaWJlciNsb2NhbHNgIGFuZCBnZXQgc2ltaWxh ciBiZWhhdmlvdXIsIHdpdGhvdXQgYnJlYWtpbmcgb24gcGVyLWZpYmVyIHNlcnZlcnMgbGlrZSBG YWxjb24sIGJlY2F1c2UgRmFsY29uIGNhbiAicmVzZXQiIGBGaWJlci5jdXJyZW50LmxvY2Fsc2Ag Zm9yIGVhY2ggcmVxdWVzdCBmaWJlciwgd2hpbGUgc2VydmVycyBsaWtlIFB1bWEgd29uJ3QgaGF2 ZSB0byBkbyB0aGF0IGFuZCB3aWxsIHJldGFpbiB0aHJlYWQtbG9jYWwgYmVoYXZpb3VyLgoKTGli cmFyaWVzIGxpa2UgQWN0aXZlUmVjb3JkIGNhbiBhZG9wdCBgRmliZXIjbG9jYWxzYCB0byBhdm9p ZCB0aGUgbmVlZCBmb3IgdXNlcnMgdG8gb3B0IGludG8gZGlmZmVyZW50ICJJc29sYXRlZEV4ZWN1 dGlvblN0YXRlIiBtb2RlbHMsIHNpbmNlIGl0IGNhbiBiZSB0cmFuc3BhcmVudGx5IGhhbmRsZWQg YnkgdGhlIHdlYiBzZXJ2ZXIgKHNlZSA8aHR0cHM6Ly9naXRodWIuY29tL3JhaWxzL3JhaWxzL3B1 bGwvNDM1OTY+IGZvciBtb3JlIGRldGFpbHMpLgoKV2UgaG9wZSBieSBpbnRyb2R1Y2luZyBgRmli ZXIjbG9jYWxzYCwgd2UgY2FuIGF2b2lkIGFsbCB0aGUgY29uZnVzaW9uIGFuZCBidWdzIG9mIHRo ZSBwYXN0IGRlc2lnbnMuCgoKCi0tIApodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy8KClVuc3Vi c2NyaWJlOiA8bWFpbHRvOnJ1YnktY29yZS1yZXF1ZXN0QHJ1YnktbGFuZy5vcmc/c3ViamVjdD11 bnN1YnNjcmliZT4KPGh0dHA6Ly9saXN0cy5ydWJ5LWxhbmcub3JnL2NnaS1iaW4vbWFpbG1hbi9v cHRpb25zL3J1YnktY29yZT4K