[#110300] [Ruby master Bug#19057] Hide implementation of `rb_io_t`. — "ioquatix (Samuel Williams)" <noreply@...>
SXNzdWUgIzE5MDU3IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGlvcXVhdGl4IChTYW11ZWwgV2lsbGlh
53 messages
2022/10/15
[ruby-core:110363] [Ruby master Bug#19062] Introduce `Fiber#locals` for shared inheritable state.
From:
"Eregon (Benoit Daloze)" <noreply@...>
Date:
2022-10-17 11:49:36 UTC
List:
ruby-core #110363
SXNzdWUgIzE5MDYyIGhhcyBiZWVuIHVwZGF0ZWQgYnkgRXJlZ29uIChCZW5vaXQgRGFsb3plKS4K Cgppb3F1YXRpeCAoU2FtdWVsIFdpbGxpYW1zKSB3cm90ZSBpbiAjbm90ZS0xNzoKPiA+IEl0IHdv dWxkIGJlIGEgc2VtYW50aWMgYnVnIGlmIGFkZGluZyBhIG5ldyBsb2NhbCBpbiBhIGNoaWxkIGZp YmVyIGFmZmVjdHMgYSBwYXJlbnQgZmliZXIgYXMgQGJ5cm9vdCAoSmVhbiBCb3Vzc2llcikgc2Fp ZC4KPiAKPiBJIGRvbid0IGFncmVlIHRoaXMgaXMgYSBzZW1hbnRpYyBidWcuIFJ1YnkgZG9lc24n dCBoYXZlIGFueSBleGlzdGluZyBkYXRhIHN0cnVjdHVyZXMgd2hpY2ggYmVoYXZlIGxpa2UgdGhp cywgYW5kIFJ1YnkgaXMgZnVuZGFtZW50YWxseSBhIG11dGFibGUgbGFuZ3VhZ2UuCgpJIHdvdWxk IHRoaW5rIGFsbCBvdGhlciBsYW5ndWFnZXMgd2l0aCBzaW1pbGFyIGZ1bmN0aW9uYWxpdHkgZG9u J3QgaGF2ZSBuZXcgbG9jYWxzIGluIHRoZSBwYXJlbnQvY2hpbGQgbGVha2luZyB0byB0aGUgb3Ro ZXIgb25lLiBBbSBJIHdyb25nPwpBbHNvIHRoYXQgdXBkYXRpbmcgYSBsb2NhbCBhZmZlY3RzIGJv dGggYW5kIG5vdCBvbmx5IG9uZSBvZiB0aGVtLgoKPiBObywgSSB0aGluayB0aGlzIGlzIGEgYmFk IGlkZWEsIG5vdCBvbmx5IGlzIGl0IGV4cGVuc2l2ZSwgaXQncyBub3QgYSB3ZWxsIGRlZmluZWQg b3BlcmF0aW9uIGluIFJ1YnksIGFuZCBwcmV2ZW50cyBsb3RzIG9mIHVzZWZ1bCBzaGFyaW5nLCBs aWtlIGNvbm5lY3Rpb24gcG9vbHMuCgpSaWdodCwgcHJvYmFibHkgbm90IG5lY2Vzc2FyeSBmb3Ig dGhlc2UgbG9jYWxzIHRvIGNvcHkgdGhlIHZhbHVlcy4KCj4gPiBJJ20gbm90IHN1cmUgd2hhdCdz IHRoZSBhZHZhbnRhZ2Ugb2YgdGhpcyBwcm9wb3NhbCB2cyAjMTkwNTguIEluIGJvdGggY2FzZXMg aXQncyBPKGxvY2FscykgcGVyIG5ldyBmaWJlciBpZiB1c2luZyBhIGhhc2guCj4gCj4gTm8sIGl0 J3Mgbm90LiBUaGlzIGlzIE8oMSkgcGVyIGZpYmVyIGNyZWF0aW9uLCBhbmQgTyhoYXNoIGR1cCkg cGVyIHRocmVhZCBjcmVhdGlvbi4gU28gaXQncyBtb3JlIGVmZmljaWVudC4KCk9ubHkgaWYgc2hh cmluZyB0aGUgSGFzaCBzZW1hbnRpY3Mgd2hpY2ggc2VlbXMgdmVyeSBjb3VudGVyLWludHVpdGl2 ZS4KCj4gVGhlcmUgYXJlIG5vIHRocmVhZCBzYWZldHkgY29uY2VybnMgd2hlbiBpbmhlcml0aW5n IHRoZSBsb2NhbHMgYnkgYSBmaWJlcgoKT25seSBpZiBpdCdzIGEgRmliZXIgb2YgdGhlIHNhbWUg VGhyZWFkLgpBbmQgYWxzbyBpdCdzIGludmFsaWQgZS5nLiBpZiBzaGFyaW5nIGEgREIgY29ubmVj dGlvbiAodXNpbmcgc29tZSBmZCkgYW5kIHRoZSBGaWJlciBzY2hlZHVsZXIsIGUuZy4gaXQgY2Fu IG1pc21hdGNoIHJlcXVlc3RzL3Jlc3BvbnNlcy4KTWFraW5nIHRoZSBEQiBjb25uZWN0aW9ucyB0 aHJlYWQvY29uY3VycmVuY3ktc2FmZSBzZWVtcyBkaWZmaWN1bHQgKG1vc3QgZG9uJ3QpLCBhbmQg d291bGQgbG9zZSB0aGUgcG9pbnQgb2YgaXQgYmVpbmcgZmliZXIvdGhyZWFkLWxvY2FsIGFuZCBu b3QgbmVlZGluZyBzdWNoIHN5bmNocm9uaXphdGlvbi4KCj4gPiBJc24ndCB0aGF0IGFsd2F5cyBh IGJhZCBpZGVhPyBTaGFyaW5nIGUuZy4gYSBEQiBjb25uZWN0aW9uIGJldHdlZW4gdGhyZWFkcyB3 b3VsZCBiZSB1bnNhZmUuCj4gCj4gTm8sIGl0J3Mgbm90IGJhZCB0byBzaGFyZSBhIERCIGNvbm5l Y3Rpb24gYmV0d2VlbiB0aHJlYWRzLCBpZiB0aGUgREIgY29ubmVjdGlvbiBpdHNlbGYgaXMgdGhy ZWFkIHNhZmUsIGl0J3MgdG90YWxseSBmaW5lLiBJdCdzIGFsc28gbW9yZSBsaWtlbHkgeW91J2Qg YmUgc2hhcmluZyBhIGNvbm5lY3Rpb24gcG9vbCAod2hpY2ggaW4gbW9zdCBSdWJ5IHByb2plY3Rz IGFyZSB1bmZvcnR1bmF0ZWx5IGp1c3QgZ2xvYmFscykuCgpXaGF0J3MgYSBjb25jcmV0ZSBzY2Vu YXJpbyB3aGVyZSB0aGUgY29ubmVjdGlvbiBwb29sIHNob3VsZCBiZSBpbmhlcml0ZWQgbGlrZSB0 aGF0IHZzIGdsb2JhbCBhbmQgaXQgd291bGQgYmUgbmVjZXNzYXJ5PwoKPiA+IElmIHdlIGFsbG93 IGluaGVyaXRpbmcgYWNyb3NzIHRocmVhZHMgdGhlbiBhdCBsZWFzdCBpdCBzaG91bGQgYmUgdmVy eSBleHBsaWNpdC4KPiAKPiBJIGRvbid0IGFncmVlIHdpdGggdGhpcywgdGhlIGVudGlyZSBwb2lu dCBvZiB0aGlzIG1vZGVsIGlzIHRvIGhhdmUgaW1wbGljaXQgc2hhcmluZyBvZiBpbXBvcnRhbnQg dGhpbmdzLCBlLmcuIGByZXF1ZXN0X2lkYCwgYGNvbm5lY3Rpb25fcG9vbGAsIGB0cmFjZV9pZGAs IGV0Yy4gQmVpbmcgZXhwbGljaXQgaXMgbW9yZSBsaWtlbHkgdG8gZW5zdXJlIHRoYXQgdGhlc2Ug ZmllbGRzIGFyZSBub3QgcHJvcGFnYXRlZCBjb3JyZWN0bHkuCgpJdCBzZWVtcyBleHRyZW1lbHkg dW5zYWZlIHRvIGluaGVyaXQgYnkgZGVmYXVsdCBhY3Jvc3MgdGhyZWFkcyB0byBtZS4KCkknZCB0 aGluayA5OSUgb2Ygd2hhdCB5b3Ugd2FudCB0byBzb2x2ZSBoZXJlIGlzIGluaGVyaXRpbmcgYmV0 d2VlbiBmaWJlcnMgYW5kIG5vdGFibHkgdGhlIEVudW1lcmF0b3IgZmliZXJzLCByaWdodD8KCi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQnVnICMxOTA2MjogSW50cm9k dWNlIGBGaWJlciNsb2NhbHNgIGZvciBzaGFyZWQgaW5oZXJpdGFibGUgc3RhdGUuCmh0dHBzOi8v YnVncy5ydWJ5LWxhbmcub3JnL2lzc3Vlcy8xOTA2MiNjaGFuZ2UtOTk2NTYKCiogQXV0aG9yOiBp b3F1YXRpeCAoU2FtdWVsIFdpbGxpYW1zKQoqIFN0YXR1czogT3BlbgoqIFByaW9yaXR5OiBOb3Jt YWwKKiBBc3NpZ25lZTogaW9xdWF0aXggKFNhbXVlbCBXaWxsaWFtcykKKiBCYWNrcG9ydDogMi43 OiBVTktOT1dOLCAzLjA6IFVOS05PV04sIDMuMTogVU5LTk9XTgotLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCkFmdGVyIGV4cGxvcmluZyA8aHR0cHM6Ly9idWdzLnJ1Ynkt bGFuZy5vcmcvaXNzdWVzLzE5MDU4PiwgSSBmZWx0IHVuY29tZm9ydGFibGUgYWJvdXQgdGhlIHBl cmZvcm1hbmNlIG9mIGNvcHlpbmcgbG90cyBvZiBpbmhlcml0YWJsZSBhdHRyaWJ1dGVzLiBQbGVh c2UgcmV2aWV3IHRoYXQgaXNzdWUgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBzdW1tYXJ5IG9mIHRo ZSBwcm9ibGVtLgoKIyMgUHJvcG9zYWwKCkludHJvZHVjZSBgRmliZXIjbG9jYWxzYCB3aGljaCBp cyBhIGhhc2ggdGFibGUgb2YgbG9jYWwgYXR0cmlidXRlcyB3aGljaCBhcmUgaW5oZXJpdGVkIGJ5 IGNoaWxkIGZpYmVycy4KCmBgYHJ1YnkKRmliZXIuY3VycmVudC5sb2NhbHNbOnhdID0gMTAKCkZp YmVyLm5ldyBkbwogIHBwIEZpYmVyLmN1cnJlbnQubG9jYWxzWzp4XSAjID0+IDEwCmVuZApgYGAK Ckl0J3MgcG9zc2libGUgdG8gcmVzZXQgYEZpYmVyLmN1cnJlbnQubG9jYWxzYCwgZS5nLgoKYGBg cnVieQpkZWYgYWNjZXB0X2Nvbm5lY3Rpb24ocGVlcikKICBGaWJlci5uZXcobG9jYWxzOiBuaWwp IGRvICMgVGhpcyBjYXVzZXMgYSBuZXcgaGFzaCB0YWJsZSB0byBiZSBhbGxvY2F0ZWQuCiAgICAj IEdlbmVyYXRlIGEgbmV3IHJlcXVlc3QgaWQgZm9yIGFsbCBmaWJlcnMgbmVzdGVkIGluIHRoaXMg b25lOgogICAgRmliZXJbOnJlcXVlc3RfaWRdID0gU2VjdXJlUmFuZG9tLmhleCgzMikKICAgIEBh cHAuY2FsbChlbnYpCiAgZW5kLnJlc3VtZQplbmQKYGBgCgpBIGhpZ2ggbGV2ZWwgb3ZlcnZpZXcg b2YgdGhlIHByb3Bvc2VkIGNoYW5nZXM6CgpgYGBydWJ5CmNsYXNzIEZpYmVyCiAgZGVmIGluaXRp YWxpemUoLi4uLCBsb2NhbHM6IEZpYmVyLmN1cnJlbnQubG9jYWxzKQogICAgQGxvY2FscyA9IGxv Y2FscyB8fCBIYXNoLm5ldwogIGVuZAoKICBhdHRyX2FjY2Vzc29yIDpsb2NhbHMKCiAgZGVmIHNl bGYuW10ga2V5CiAgICBzZWxmLmN1cnJlbnQubG9jYWxzW2tleV0KICBlbmQKCiAgZGVmIHNlbGYu W109IGtleSwgdmFsdWUKICAgIHNlbGYuY3VycmVudC5sb2NhbHNba2V5XSA9IHZhbHVlCiAgZW5k CmVuZApgYGAKClNlZSB0aGUgcHVsbCByZXF1ZXN0IDxodHRwczovL2dpdGh1Yi5jb20vcnVieS9y dWJ5L3B1bGwvNjU2Nj4gZm9yIHRoZSBmdWxsIHByb3Bvc2VkIGltcGxlbWVudGF0aW9uLgoKIyMg RXhwZWN0ZWQgVXNhZ2UKCkN1cnJlbnRseSwgYSBsb3Qgb2YgbGlicmFyaWVzIHVzZSBgVGhyZWFk LmN1cnJlbnRbOnhdYCB3aGljaCBpcyB1bmV4cGVjdGVkbHkgImZpYmVyIGxvY2FsIi4gQSBjb21t b24gYnVnIHNob3dzIHVwIHdoZW4gbGF6eSBlbnVtZXJhdG9ycyBhcmUgdXNlZCwgYmVjYXVzZSBp dCBtYXkgY3JlYXRlIGFuIGludGVybmFsIGZpYmVyLiBCZWNhdXNlIGBsb2NhbHNgIGFyZSBpbmhl cml0ZWQsIGNvZGUgd2hpY2ggdXNlcyBgRmliZXJbOnhdYCB3aWxsIG5vdCBzdWZmZXIgZnJvbSB0 aGlzIHByb2JsZW0uCgpBbnkgcHJvZ3JhbSB0aGF0IHVzZXMgdHJ1ZSB0aHJlYWQgbG9jYWxzIGZv ciBwZXItcmVxdWVzdCBzdGF0ZSwgY2FuIGFkb3B0IHRoZSBwcm9wb3NlZCBgRmliZXIjbG9jYWxz YCBhbmQgZ2V0IHNpbWlsYXIgYmVoYXZpb3VyLCB3aXRob3V0IGJyZWFraW5nIG9uIHBlci1maWJl ciBzZXJ2ZXJzIGxpa2UgRmFsY29uLCBiZWNhdXNlIEZhbGNvbiBjYW4gInJlc2V0IiBgRmliZXIu Y3VycmVudC5sb2NhbHNgIGZvciBlYWNoIHJlcXVlc3QgZmliZXIsIHdoaWxlIHNlcnZlcnMgbGlr ZSBQdW1hIHdvbid0IGhhdmUgdG8gZG8gdGhhdCBhbmQgd2lsbCByZXRhaW4gdGhyZWFkLWxvY2Fs IGJlaGF2aW91ci4KCkxpYnJhcmllcyBsaWtlIEFjdGl2ZVJlY29yZCBjYW4gYWRvcHQgYEZpYmVy I2xvY2Fsc2AgdG8gYXZvaWQgdGhlIG5lZWQgZm9yIHVzZXJzIHRvIG9wdCBpbnRvIGRpZmZlcmVu dCAiSXNvbGF0ZWRFeGVjdXRpb25TdGF0ZSIgbW9kZWxzLCBzaW5jZSBpdCBjYW4gYmUgdHJhbnNw YXJlbnRseSBoYW5kbGVkIGJ5IHRoZSB3ZWIgc2VydmVyIChzZWUgPGh0dHBzOi8vZ2l0aHViLmNv bS9yYWlscy9yYWlscy9wdWxsLzQzNTk2PiBmb3IgbW9yZSBkZXRhaWxzKS4KCldlIGhvcGUgYnkg aW50cm9kdWNpbmcgYEZpYmVyI2xvY2Fsc2AsIHdlIGNhbiBhdm9pZCBhbGwgdGhlIGNvbmZ1c2lv biBhbmQgYnVncyBvZiB0aGUgcGFzdCBkZXNpZ25zLgoKCgotLSAKaHR0cHM6Ly9idWdzLnJ1Ynkt bGFuZy5vcmcvCgpVbnN1YnNjcmliZTogPG1haWx0bzpydWJ5LWNvcmUtcmVxdWVzdEBydWJ5LWxh bmcub3JnP3N1YmplY3Q9dW5zdWJzY3JpYmU+CjxodHRwOi8vbGlzdHMucnVieS1sYW5nLm9yZy9j Z2ktYmluL21haWxtYW4vb3B0aW9ucy9ydWJ5LWNvcmU+Cg==