[#110300] [Ruby master Bug#19057] Hide implementation of `rb_io_t`. — "ioquatix (Samuel Williams)" <noreply@...>
SXNzdWUgIzE5MDU3IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGlvcXVhdGl4IChTYW11ZWwgV2lsbGlh
53 messages
2022/10/15
[ruby-core:110397] [Ruby master Bug#19062] Introduce `Fiber#locals` for shared inheritable state.
From:
"ioquatix (Samuel Williams)" <noreply@...>
Date:
2022-10-18 11:20:19 UTC
List:
ruby-core #110397
SXNzdWUgIzE5MDYyIGhhcyBiZWVuIHVwZGF0ZWQgYnkgaW9xdWF0aXggKFNhbXVlbCBXaWxsaWFt cykuCgpUcmFja2VyIGNoYW5nZWQgZnJvbSBGZWF0dXJlIHRvIEJ1ZwpCYWNrcG9ydCBzZXQgdG8g Mi43OiBVTktOT1dOLCAzLjA6IFVOS05PV04sIDMuMTogVU5LTk9XTgoKPiBJdCdzIGV4dHJlbWVs eSBuZWdsaWdpYmxlLgoKT2theSwgZ29vZCB0byBrbm93LgoKYGBgcnVieQpyZXF1aXJlICdiZW5j aG1hcmsnCgpsb2NhbHMgPSB7YTogMSwgYjogMiwgYzogM30KCkJlbmNobWFyay5ibSBkbyB8YnwK ICBiLnJlcG9ydCgiZHVwIikgezFfMDAwXzAwMC50aW1lc3t4ID0gbG9jYWxzLmR1cH19CiAgYi5y ZXBvcnQoImFzc2lnbiIpIHsxXzAwMF8wMDAudGltZXN7eCA9IGxvY2Fsc319CmVuZAoKICAgICAg ICAgIHVzZXIgICAgIHN5c3RlbSAgICAgIHRvdGFsICAgICAgICByZWFsCmR1cCAgICAgMC4xNzU3 NzkgICAwLjAwMTE1MyAgIDAuMTc2OTMyICggIDAuMTc2OTg4KQphc3NpZ24gIDAuMDIzODk2ICAg MC4wMDAwODQgICAwLjAyMzk4MCAoICAwLjAyMzk5OCkKYGBgCgpTbywgbGlrZSwgYWJvdXQgMTB4 IHNsb3dlciB0aGFuIGRvaW5nIG5vdGhpbmcsIGJ1dCBpdCdzIGFsc28gYSBwcmV0dHkgc21hbGwg b3ZlcmhlYWQgcGVyIGZpYmVyLCBzbyBpdCBtaWdodCBiZSBhY2NlcHRhYmxlIHRvIGRlc2NyaWJl IGl0IGFzIG5lZ2xpZ2libGUsIHVubGVzcyB0aGVyZSBhcmUgd29yc2UgY2FzZXMgd2Ugc2hvdWxk IGNvbnNpZGVyLgoKVGhhdCBiZWluZyBzYWlkLCBJJ2QgcHJlZmVyIHRvIGF2b2lkIGRvaW5nIHRo aW5ncyB3ZSBkb24ndCBuZWVkIHRvIGRvLgoKPiBTaG91bGQgYSBjaGlsZCBmaWJlciBiZSBhYmxl IHRvIGZsaXAgdGhlIGxvZyBsZXZlbCBpbiBpdHMgcGFyZW50IGFuZCBzaWJibGluZ3M/IERlZmlu aXRlbHkgbm90LgoKSWYgYWxsIGZpYmVycyBhcmUgcGFydCBvZiB0aGUgc2FtZSByZXF1ZXN0LCBJ IGhhdmUgbm8gcHJvYmxlbSB3aXRoIHRoYXQgbW9kZWwuIFRoaXMgcHJvcG9zYWwgaXMgdHdvIHBh cnRzOiBhIHdheSB0byBpbmhlcml0IHN0YXRlIHRvIGNoaWxkIGV4ZWN1dGlvbiBjb250ZXh0cywg YW5kIGEgd2F5IHRvIHNoYXJlIHRoYXQgc3RhdGUgYmV0d2VlbiBleGVjdXRpb24gY29udGV4dHMg d2l0aGluIHRoZSBzYW1lIHJlcXVlc3Qgb3Igb3BlcmF0aW9uLgoKPiBObywgYWdhaW4sIG5ldyBm aWJlcnMgYXJlIGluaXRpYWxpemVkIHdpdGggYSBkdXAgb2YgdGhlIGxvY2FscyBoYXNoLCBzbyB0 aGV5IGhhdmUgYWNjZXNzIHRvIHRoZSBzYW1lIENvbm5lY3Rpb25Qb29sIGluc3RhbmNlLCB3aGlj aCBjYW4gYmUgbXV0YWJsZSBpZiB5b3UgZGVzaXJlIHNvLgoKTm90IGlmIGl0IHdhc24ndCBjcmVh dGVkIGluIHRoZSBwYXJlbnQgZmlyc3QuIElmIHlvdSBoYXZlIGNvZGUgdG8gbGF6eSBpbml0aWFs aXplIHRoZSBjb25uZWN0aW9uIHBvb2wsIGFuZCBpdCBoYXBwZW5zIGluIHRoZSBjaGlsZCBmaWJl ciBiZWZvcmUgaXQgaGFwcGVucyBpbiB0aGUgcGFyZW50LCBpdCB3b24ndCBiZSBzaGFyZWQgaWYg dGhlIGxvY2FscyBhcmUgZHVwZWQuCgo+IEkgcmVhbGx5IGRvbid0IHNlZSBob3cuCgpJIGdhdmUg YW4gZXhhbXBsZSBzaG93aW5nIGV4YWN0bHkgdGhpcy4KCmBgYApGaWJlcls6Y291bnRdID0gMAoK ZW51bWVyYXRvciA9IEVudW1lcmF0b3IubmV3IGRvIHx5fAogIDEwLnRpbWVzIGRvIHxpfAogICAg RmliZXJbOmNvdW50XSArPSAxCiAgICB5IDw8IGkKICBlbmQKZW5kCgplbnVtZXJhdG9yLm5leHQK cCBGaWJlcls6Y291bnRdICMgMQoKZW51bWVyYXRvci50b19hCnAgRmliZXJbOmNvdW50XSAjIDEx CmBgYAoKSWYgdGhlIGxvY2FscyBhcmUgZHVwZWQsIHRoZSBoaWRkZW4gZmliZXIgd2lsbCBkdXAg dGhlIGxvY2FscyBhbmQgdGhlIHJlc3VsdHMgd2lsbCBiZSAwIGFuZCAxMCByZXNwZWN0aXZlbHku IFRvIG1lLCB0aGlzIGlzIGNvbmZ1c2luZywgc2luY2UgdGhlIGZpYmVyIGlzIGFuIGltcGxlbWVu dGF0aW9uIGRldGFpbC4gT25lIG9mIHRoZSBwcm9ibGVtcyBJJ20gdHJ5aW5nIHRvIHNvbHZlIGlz IGJlaGF2aW91cmFsIGNoYW5nZXMgZHVlIHRvIHRoZSBpbnRlcm5hbCBmaWJlciBvZiBlbnVtZXJh dG9yLiBDYW4geW91IHByb3Bvc2Ugc29tZSBvdGhlciB3YXkgdG8gZml4IHRoaXM/Cgo+IElmIHlv dSBkb24ndCBkdXAsIHRoZXJlIHRoaXMgaXMgYWJzb2x1dGVseSBub3QgImxvY2FscyIgaXQncyBq dXN0IHNvbWUgZmFpcmx5IGNvbnRyaXZlZCBnbG9iYWwgdmFyaWFibGUuCgpJIG1lYW4sIGlmIHlv dSB3YW50IHRvIGRvIGNvbnRyaXZlZCwgZXZlcnl0aGluZyBpcyBiYXNpY2FsbHkganVzdCBhIGds b2JhbCB2YXJpYWJsZSBpZiB5b3Ugc3F1aW50IGhhcmQgZW5vdWdoIDopCgo+IEl0IGlzIHRocmVh ZCB1bnNhZmUgYW5kIGNvdWxkIGNyYXNoIG90aGVyIFJ1YnkgaW1wbGVtZW50YXRpb25zIGZvciBp bnN0YW5jZS4KCkl0J3Mgbm90IHRocmVhZCB1bnNhZmUgdG8gc2hhcmUgYSBoYXNoIHRhYmxlIGJl dHdlZW4gZmliZXJzLiBJbiBteSBQUiwgdGhlIGxvY2FscyBhcmUgZHVwZWQgYmV0d2VlbiB0aHJl YWRzIHRvIHByZXZlbnQgYW55IHRocmVhZCBzYWZldHkgaXNzdWVzLgoKPiBUaGlzIGJhZGx5IGJy ZWFrcyB0aGUgYXBwbGljYXRpb24gYmVjYXVzZSB0aGUgZmQgaXMgaW5jb3JyZWN0bHkgc2hhcmVk IGJldHdlZW4gdGhyZWFkcy4KCkkgbGlrZSB0aGlzIGV4YW1wbGUsIHByb2JhYmx5IHNoYXJpbmcg YWNyb3NzIHRocmVhZCBib3VuZGFyaWVzIGlzIGRhbmdlcm91cy4gVGhlIHNvbHV0aW9uIHlvdSBw cm9wb3NlZCBmZWVscyBmYXIgdG8gY29tcGxleCBmb3IgUnVieS4KClRoZSBtb2RlbCBJJ20gaW5z cGlyZWQgYnkgaXMgImR5bmFtaWNhbGx5IHNjb3BlZCBmcmVlIHZhcmlhYmxlcyIgc3VjaCBhcyB0 aG9zZSBmcm9tIExJU1AuIEkgdGhpbmsgdGhhdCdzIGEgcHJldHR5IGdvb2QgbW9kZWwsIGJ1dCBp dCdzIHN0aWxsIGEgbGl0dGxlIHRvbyBjdW1iZXJzb21lIGZvciBSdWJ5LgoKPiBJIGd1ZXNzIHRo ZSBuYW1lIGlzIHRoZSBmdW5kYW1lbnRhbCBwcm9ibGVtIGhlcmUuIEkgYmVsaWV2ZSB3aGF0IHlv dSBwcm9wb3NlIGlzIG5vdCByZWxhdGVkIHRvIHdoYXQgbW9zdCBwZW9wbGUgdW5kZXJzdGFuZCBi eSAiRmliZXIgbG9jYWxzIi4KClllcywgaXQgY2FuIGJlLiBBY3R1YWxseSwgdGhlIGVudGlyZSB3 YXkgdGhyZWFkIGxvY2FsIGFuZCBmaWJlciBsb2NhbCBpcyBuYW1lZCBhbmQgdXNlZCBpbiBSdWJ5 IGlzIGEgdG90YWwgbWVzcy4KCj4gQlRXIEphdmEgaGFzOgoKaHR0cHM6Ly9vcGVuamRrLm9yZy9q ZXBzLzQyOSBpcyBhIG5pY2UgcHJvcG9zYWwgSSBsaW5rZWQgaW4gdGhlIG90aGVyIGlzc3VlLgoK SWYgZXZlcnlvbmUgZmVlbHMgc3Ryb25nbHkgYWJvdXQgYGR1cGAgaW4gZXZlcnkgY2FzZSwgSSdt IG9rYXkgd2l0aCBpdCAoYXNzdW1pbmcgdGhlIHBlcmZvcm1hbmNlIGlzIGFjY2VwdGFibGUpLCBi dXQgaXQgbWVhbnMgdGhhdCBFbnVtZXJhdG9yJ3MgaW50ZXJuYWwgZmliZXIgaGFzIHVzZXIgdmlz aWJsZSBzaWRlIGVmZmVjdHMsIHdoaWNoIHdhcyBzb21ldGhpbmcgSSB3YW50ZWQgdG8gYXZvaWQg YXMgaXQncyBjYXVzZWQgYSBsb3Qgb2YgcGFpbiBpbiB0aGUgcGFzdC4KCk1heWJlIEZpYmVycyBj YW4gZGVmYXVsdCB0byB3aXRoIGBkdXBgIGJ1dCBlbnVtZXJhdG9yJ3MgaGlkZGVuIGZpYmVyIGNh biBkZWZhdWx0IHRvIHdpdGhvdXQgZHVwIHRvIGF2b2lkIHRoaXMgcHJvYmxlbS4gV2hhdCBkbyB5 b3UgdGhpbms/CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpCdWcg IzE5MDYyOiBJbnRyb2R1Y2UgYEZpYmVyI2xvY2Fsc2AgZm9yIHNoYXJlZCBpbmhlcml0YWJsZSBz dGF0ZS4KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzE5MDYyI2NoYW5nZS05OTcw NAoKKiBBdXRob3I6IGlvcXVhdGl4IChTYW11ZWwgV2lsbGlhbXMpCiogU3RhdHVzOiBPcGVuCiog UHJpb3JpdHk6IE5vcm1hbAoqIEFzc2lnbmVlOiBpb3F1YXRpeCAoU2FtdWVsIFdpbGxpYW1zKQoq IEJhY2twb3J0OiAyLjc6IFVOS05PV04sIDMuMDogVU5LTk9XTiwgMy4xOiBVTktOT1dOCi0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQWZ0ZXIgZXhwbG9yaW5nIDxodHRw czovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMvMTkwNTg+LCBJIGZlbHQgdW5jb21mb3J0YWJs ZSBhYm91dCB0aGUgcGVyZm9ybWFuY2Ugb2YgY29weWluZyBsb3RzIG9mIGluaGVyaXRhYmxlIGF0 dHJpYnV0ZXMuIFBsZWFzZSByZXZpZXcgdGhhdCBpc3N1ZSBmb3IgdGhlIGJhY2tncm91bmQgYW5k IHN1bW1hcnkgb2YgdGhlIHByb2JsZW0uCgojIyBQcm9wb3NhbAoKSW50cm9kdWNlIGBGaWJlciNs b2NhbHNgIHdoaWNoIGlzIGEgaGFzaCB0YWJsZSBvZiBsb2NhbCBhdHRyaWJ1dGVzIHdoaWNoIGFy ZSBpbmhlcml0ZWQgYnkgY2hpbGQgZmliZXJzLgoKYGBgcnVieQpGaWJlci5jdXJyZW50LmxvY2Fs c1s6eF0gPSAxMAoKRmliZXIubmV3IGRvCiAgcHAgRmliZXIuY3VycmVudC5sb2NhbHNbOnhdICMg PT4gMTAKZW5kCmBgYAoKSXQncyBwb3NzaWJsZSB0byByZXNldCBgRmliZXIuY3VycmVudC5sb2Nh bHNgLCBlLmcuCgpgYGBydWJ5CmRlZiBhY2NlcHRfY29ubmVjdGlvbihwZWVyKQogIEZpYmVyLm5l dyhsb2NhbHM6IG5pbCkgZG8gIyBUaGlzIGNhdXNlcyBhIG5ldyBoYXNoIHRhYmxlIHRvIGJlIGFs bG9jYXRlZC4KICAgICMgR2VuZXJhdGUgYSBuZXcgcmVxdWVzdCBpZCBmb3IgYWxsIGZpYmVycyBu ZXN0ZWQgaW4gdGhpcyBvbmU6CiAgICBGaWJlcls6cmVxdWVzdF9pZF0gPSBTZWN1cmVSYW5kb20u aGV4KDMyKQogICAgQGFwcC5jYWxsKGVudikKICBlbmQucmVzdW1lCmVuZApgYGAKCkEgaGlnaCBs ZXZlbCBvdmVydmlldyBvZiB0aGUgcHJvcG9zZWQgY2hhbmdlczoKCmBgYHJ1YnkKY2xhc3MgRmli ZXIKICBkZWYgaW5pdGlhbGl6ZSguLi4sIGxvY2FsczogRmliZXIuY3VycmVudC5sb2NhbHMpCiAg ICBAbG9jYWxzID0gbG9jYWxzIHx8IEhhc2gubmV3CiAgZW5kCgogIGF0dHJfYWNjZXNzb3IgOmxv Y2FscwoKICBkZWYgc2VsZi5bXSBrZXkKICAgIHNlbGYuY3VycmVudC5sb2NhbHNba2V5XQogIGVu ZAoKICBkZWYgc2VsZi5bXT0ga2V5LCB2YWx1ZQogICAgc2VsZi5jdXJyZW50LmxvY2Fsc1trZXld ID0gdmFsdWUKICBlbmQKZW5kCmBgYAoKU2VlIHRoZSBwdWxsIHJlcXVlc3QgPGh0dHBzOi8vZ2l0 aHViLmNvbS9ydWJ5L3J1YnkvcHVsbC82NTY2PiBmb3IgdGhlIGZ1bGwgcHJvcG9zZWQgaW1wbGVt ZW50YXRpb24uCgojIyBFeHBlY3RlZCBVc2FnZQoKQ3VycmVudGx5LCBhIGxvdCBvZiBsaWJyYXJp ZXMgdXNlIGBUaHJlYWQuY3VycmVudFs6eF1gIHdoaWNoIGlzIHVuZXhwZWN0ZWRseSAiZmliZXIg bG9jYWwiLiBBIGNvbW1vbiBidWcgc2hvd3MgdXAgd2hlbiBsYXp5IGVudW1lcmF0b3JzIGFyZSB1 c2VkLCBiZWNhdXNlIGl0IG1heSBjcmVhdGUgYW4gaW50ZXJuYWwgZmliZXIuIEJlY2F1c2UgYGxv Y2Fsc2AgYXJlIGluaGVyaXRlZCwgY29kZSB3aGljaCB1c2VzIGBGaWJlcls6eF1gIHdpbGwgbm90 IHN1ZmZlciBmcm9tIHRoaXMgcHJvYmxlbS4KCkFueSBwcm9ncmFtIHRoYXQgdXNlcyB0cnVlIHRo cmVhZCBsb2NhbHMgZm9yIHBlci1yZXF1ZXN0IHN0YXRlLCBjYW4gYWRvcHQgdGhlIHByb3Bvc2Vk IGBGaWJlciNsb2NhbHNgIGFuZCBnZXQgc2ltaWxhciBiZWhhdmlvdXIsIHdpdGhvdXQgYnJlYWtp bmcgb24gcGVyLWZpYmVyIHNlcnZlcnMgbGlrZSBGYWxjb24sIGJlY2F1c2UgRmFsY29uIGNhbiAi cmVzZXQiIGBGaWJlci5jdXJyZW50LmxvY2Fsc2AgZm9yIGVhY2ggcmVxdWVzdCBmaWJlciwgd2hp bGUgc2VydmVycyBsaWtlIFB1bWEgd29uJ3QgaGF2ZSB0byBkbyB0aGF0IGFuZCB3aWxsIHJldGFp biB0aHJlYWQtbG9jYWwgYmVoYXZpb3VyLgoKTGlicmFyaWVzIGxpa2UgQWN0aXZlUmVjb3JkIGNh biBhZG9wdCBgRmliZXIjbG9jYWxzYCB0byBhdm9pZCB0aGUgbmVlZCBmb3IgdXNlcnMgdG8gb3B0 IGludG8gZGlmZmVyZW50ICJJc29sYXRlZEV4ZWN1dGlvblN0YXRlIiBtb2RlbHMsIHNpbmNlIGl0 IGNhbiBiZSB0cmFuc3BhcmVudGx5IGhhbmRsZWQgYnkgdGhlIHdlYiBzZXJ2ZXIgKHNlZSA8aHR0 cHM6Ly9naXRodWIuY29tL3JhaWxzL3JhaWxzL3B1bGwvNDM1OTY+IGZvciBtb3JlIGRldGFpbHMp LgoKV2UgaG9wZSBieSBpbnRyb2R1Y2luZyBgRmliZXIjbG9jYWxzYCwgd2UgY2FuIGF2b2lkIGFs bCB0aGUgY29uZnVzaW9uIGFuZCBidWdzIG9mIHRoZSBwYXN0IGRlc2lnbnMuCgoKCi0tIApodHRw czovL2J1Z3MucnVieS1sYW5nLm9yZy8KClVuc3Vic2NyaWJlOiA8bWFpbHRvOnJ1YnktY29yZS1y ZXF1ZXN0QHJ1YnktbGFuZy5vcmc/c3ViamVjdD11bnN1YnNjcmliZT4KPGh0dHA6Ly9saXN0cy5y dWJ5LWxhbmcub3JnL2NnaS1iaW4vbWFpbG1hbi9vcHRpb25zL3J1YnktY29yZT4K