[#110300] [Ruby master Bug#19057] Hide implementation of `rb_io_t`. — "ioquatix (Samuel Williams)" <noreply@...>
SXNzdWUgIzE5MDU3IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGlvcXVhdGl4IChTYW11ZWwgV2lsbGlh
53 messages
2022/10/15
[ruby-core:110479] [Ruby master Feature#19058] Introduce `Fiber.inheritable` attributes/variables for dealing with shared state.
From:
"ioquatix (Samuel Williams)" <noreply@...>
Date:
2022-10-22 21:40:05 UTC
List:
ruby-core #110479
SXNzdWUgIzE5MDU4IGhhcyBiZWVuIHVwZGF0ZWQgYnkgaW9xdWF0aXggKFNhbXVlbCBXaWxsaWFt cykuCgpTdGF0dXMgY2hhbmdlZCBmcm9tIE9wZW4gdG8gQ2xvc2VkCgpUaGUgcGVyZm9ybWFuY2Ug Y29zdCBhbmQgY29tcGxleGl0eSBvZiB0aGlzIHByb3Bvc2FsIGlzIHRvbyBoaWdoLgoKLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpGZWF0dXJlICMxOTA1ODogSW50cm9k dWNlIGBGaWJlci5pbmhlcml0YWJsZWAgYXR0cmlidXRlcy92YXJpYWJsZXMgZm9yIGRlYWxpbmcg d2l0aCBzaGFyZWQgc3RhdGUuCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnL2lzc3Vlcy8xOTA1 OCNjaGFuZ2UtOTk3OTgKCiogQXV0aG9yOiBpb3F1YXRpeCAoU2FtdWVsIFdpbGxpYW1zKQoqIFN0 YXR1czogQ2xvc2VkCiogUHJpb3JpdHk6IE5vcm1hbAoqIEFzc2lnbmVlOiBpb3F1YXRpeCAoU2Ft dWVsIFdpbGxpYW1zKQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tClRo ZXJlIGFyZSBtYW55IGluc3RhbmNlcyBvZiBwcm9ncmFtcyB1c2luZyBnbG9iYWxzLCB0aHJlYWQg bG9jYWxzIGFuZCBmaWJlciBsb2NhbHMgZm9yIHNoYXJlZCBzdGF0ZS4gVW5mb3J0dW5hdGVseSB0 aGVzZSBwcm9ncmFtcyBvZnRlbiBoYXZlIGJ1Z3Mgb3IgdW51c3VhbCBiZWhhdmlvdXIgd2hlbiBv YmplY3RzIGFyZSB1c2VkIG9uIGRpZmZlcmVudCB0aHJlYWRzIG9yIGZpYmVycy4KCkhlcmUgaXMg YSBzaW1wbGUgZXhhbXBsZSBvZiB0aGUga2luZCBvZiBwcm9ibGVtIHRoYXQgY2FuIG9jY3VyOgoK YGBgcnVieQpjbGFzcyBVc2VycwogIGRlZiBlYWNoCiAgICByZXR1cm4gdG9fZW51bSB1bmxlc3Mg YmxvY2tfZ2l2ZW4/CiAgICBwIGVhY2g6IEZpYmVyLmN1cnJlbnQKICAgIHlpZWxkICJBIgogICAg eWllbGQgIkIiCiAgICB5aWVsZCAiQyIKICBlbmQKZW5kCgpwIFVzZXJzLm5ldy5lYWNoLnppcChV c2Vycy5uZXcuZWFjaCkKYGBgCgpXaGVuIHRoZSBlbnVtZXJhdGlvbiBkZXBlbmRzIG9uIGEgZmli ZXItbG9jYWwgY29ubmVjdGlvbiBpbnN0YW5jZSAoZS5nLiBgVGhyZWFkLmN1cnJlbnRbOmNvbm5l Y3Rpb25dYCkgaXQgY291bGQgdW5leHBlY3RlZGx5IGJyZWFrIHRoZSBvcGVyYXRpb24gYmVjYXVz ZSB3aXRoaW4gdGhlIGVudW1lcmF0ZSwgdGhlIGZpYmVyIGlzIGRpZmZlcmVudCBsZWFkaW5nIHRv IG1pc3NpbmcgY29ubmVjdGlvbi4KCkluIGFsbCB0aGVzZSBjYXNlcywgdGhlIHByb2JsZW0gY2Fu IGJlIHNvbHZlZCBieSBub3QgcmVseWluZyBvbiBpbXBsaWNpdC9pbnZpc2libGUgc3RhdGUuIFVu Zm9ydHVuYXRlbHksIG1hbnkgcHJvZ3JhbXMgdGFrZSBhZHZhbnRhZ2Ugb2YgcHJvY2VzcyAoZ2xv YmFsKSwgdGhyZWFkIG9yIGZpYmVyIGxvY2FsIHZhcmlhYmxlcyB0byBjcmVhdGUgbW9yZSBlcmdv bm9taWMgaW50ZXJmYWNlcywgZS5nLgoKYGBgcnVieQpEQi5jb25uZWN0KHVzZXJuYW1lLCBwYXNz d29yZCwgaG9zdCkKCkRCLnF1ZXJ5KCJTRUxFQ1QgKiBGUk9NIEJVR1MiKTsgIyBpbXBsaWNpdCBk ZXBlbmRlbmN5IG9uIGNvbm5lY3Rpb24gKGlkZWFsbHkgZnJvbSBzaGFyZWQgcG9vbCkuCmBgYAoK UnVieSBwcm92aWRlcyBzZXZlcmFsLCBzb21ld2hhdCBjb25mdXNpbmcgb3B0aW9ucy4KCmBgYHJ1 YnkKVGhyZWFkLmN1cnJlbnRbOnhdICMgRmliZXIgbG9jYWwuClRocmVhZC5jdXJyZW50LnRocmVh ZF92YXJpYWJsZV9nZXQoOngpICMgVGhyZWFkIGxvY2FsLgoKY2xhc3MgVGhyZWFkCiAgYXR0ciA6 eAplbmQKClRocmVhZC5jdXJyZW50LnggIyB0aHJlYWQgbG9jYWwKCmNsYXNzIEZpYmVyCiAgYXR0 ciA6eAplbmQKCkZpYmVyLmN1cnJlbnQueCAjIGZpYmVyIGxvY2FsCmBgYAoKT3ZlciB0aGUgeWVh cnMgdGhlcmUgaGF2ZSBiZWVuIG11bHRpcGxlIGlzc3VlcyBhYm91dCB0aGUgYWJvdmUgYmVoYXZp b3VyOgoKLSBodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMvMTcxNwotIGh0dHBzOi8v YnVncy5ydWJ5LWxhbmcub3JnL2lzc3Vlcy83MDk3Ci0gaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5v cmcvaXNzdWVzLzgyMTUKLSBodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMvMTM4OTMK LSBSYWlscyBpcyBhbHNvIHdvcmtpbmcgYXJvdW5kIHRoaXMgaXNzdWU6IGh0dHBzOi8vZ2l0aHVi LmNvbS9yYWlscy9yYWlscy9wdWxsLzQzNTk2CgpUaGUgaGVhcnQgb2YgdGhlIGlzc3VlIGlzOiB0 aGVyZSBzaG91bGQgYmUgYSBjb25zaXN0ZW50IGFuZCBjb252ZW5pZW50IHdheSB0byBkZWZpbmUg c3RhdGUgYXR0YWNoZWQgdG8gdGhlIGN1cnJlbnQgZXhlY3V0aW9uIGNvbnRleHQsIHdoaWNoIGdl dHMgaW5oZXJpdGVkIGJ5IGNoaWxkIGV4ZWN1dGlvbiBjb250ZXh0cy4gRXNzZW50aWFsbHk6Cgpg YGBydWJ5CmxldCh4OiAxMCkgZG8KICAjIEluIGV2ZXJ5IGV4ZWN1dGlvbiBjb250ZXh0IGNyZWF0 ZWQgd2l0aGluIHRoaXMgYmxvY2ssIHVubGVzcyBvdGhlcndpc2UgY2hhbmdlZCwgYHhgIGlzIGJv dW5kIHRvIHRoZSB2YWx1ZSAxMC4gVGhhdCBtZWFucywgdGhyZWFkcywgZmliZXJzLCBldGMuCmVu ZApgYGAKClRoaXMgaXMgc29tZXRpbWVzIHJlZmVycmVkIHRvIGFzIGR5bmFtaWMgc2NvcGUuIFRo aXMgcHJvcG9zYWwgaXMgdG8gaW50cm9kdWNlIGEgc2ltaWxhciBkeW5hbWljIHNjb3BlIGZvciBm aWJlciBpbmhlcml0YWJsZSBhdHRyaWJ1dGVzLgoKIyMgUHJvcG9zYWwKCldlIGhhdmUgc2V2ZXJh bCB1bml0cyBvZiBleGVjdXRpb24gaW4gUnVieSwgaW1wbGljaXRseSBhIHByb2Nlc3MsIHdoaWNo IGhhcyB0aHJlYWRzIHdoaWNoIGhhcyBmaWJlcnMuIEludGVybmFsbHksIFJ1YnkgaGFzIGFuICJl eGVjdXRpb24gY29udGV4dCIuIEVhY2ggZmliZXIgaGFzIGFuIGV4ZWN1dGlvbiBjb250ZXh0LiBF YWNoIHRocmVhZCBoYXMgYSBtYWluIGZpYmVyIGFuZCBleGVjdXRpb24gY29udGV4dC4gSSBwcm9w b3NlIHRvIGludHJvZHVjZSBhbiBpbnRlcmZhY2UgZm9yIGRlZmluaW5nIGEgcGVyLWZpYmVyIGNv bnRleHQgd2hpY2ggaXMgc2VtYW50aWNhbGx5IHZlcnkgc2ltaWxhciB0byBkeW5hbWljIHZhcmlh Ymxlcy4gVHJ1ZSBkeW5hbWljIHZhcmlhYmxlcyBhcmUgc3RhY2sgZnJhbWUgc2NvcGVkLCBidXQg bXkgcHJvcG9zYWwgZG9lc24ndCBnbyB0aGF0IGZhci4gVGhpcyBwcm9wb3NhbCBpcyBzaW1pbGFy IHRvIEtvdGxpbidzIENvcm91dGluZSBDb250ZXh0cyA8aHR0cHM6Ly9rb3RsaW5sYW5nLm9yZy9k b2NzL2Nvcm91dGluZS1jb250ZXh0LWFuZC1kaXNwYXRjaGVycy5odG1sPiBhbmQgSkVQIDQyOTog RXh0ZW50LUxvY2FsIFZhcmlhYmxlcyA8aHR0cHM6Ly9vcGVuamRrLm9yZy9qZXBzLzQyOT4uCgpg YGBydWJ5CnJlcXVpcmUgJ2ZpYmVyJwoKIyBDb21wYXRpYmxlIHNoaW0gdG8gaW50cm9kdWNlIHBy b3Bvc2VkIGJlaGF2aW91cjoKY2xhc3MgRmliZXIKICBtb2R1bGUgSW5oZXJpdGFibGUKICAgIGRl ZiBpbml0aWFsaXplKC4uLikKICAgICAgc3VwZXIoLi4uKQogICAgICAKICAgICAgc2VsZi5pbmhl cml0X2F0dHJpYnV0ZXNfZnJvbShGaWJlci5jdXJyZW50KQogICAgZW5kCiAgICAKICAgIGRlZiBz ZWxmLnByZXBlbmRlZChrbGFzcykKICAgICAga2xhc3MuZXh0ZW5kKFNpbmdsZXRvbikKICAgICAg a2xhc3MuaW5zdGFuY2VfdmFyaWFibGVfc2V0KDpAaW5oZXJpdGFibGVfYXR0cmlidXRlcywgSGFz aC5uZXcpCiAgICBlbmQKICAgIAogICAgbW9kdWxlIFNpbmdsZXRvbgogICAgICBkZWYgaW5oZXJp dGFibGUoa2V5LCBkZWZhdWx0OiBuaWwpCiAgICAgICAgQGluaGVyaXRhYmxlX2F0dHJpYnV0ZXNb OiJAI3trZXl9Il0gPSBkZWZhdWx0CiAgICAgIGVuZAogICAgICAKICAgICAgZGVmIGluaGVyaXRh YmxlX2F0dHJpYnV0ZXMKICAgICAgICBAaW5oZXJpdGFibGVfYXR0cmlidXRlcwogICAgICBlbmQK ICAgIGVuZAogICAgCiAgICBkZWYgaW5oZXJpdF9hdHRyaWJ1dGVzX2Zyb20oZmliZXIpCiAgICAg IHNlbGYuY2xhc3MuaW5oZXJpdGFibGVfYXR0cmlidXRlcy5lYWNoIGRvIHxuYW1lLCBkZWZhdWx0 fAogICAgICAgIHZhbHVlID0gZmliZXIuaW5zdGFuY2VfdmFyaWFibGVfZ2V0KG5hbWUpIHx8IGRl ZmF1bHQKICAgICAgICBzZWxmLmluc3RhbmNlX3ZhcmlhYmxlX3NldChuYW1lLCB2YWx1ZSkKICAg ICAgZW5kCiAgICBlbmQKICBlbmQKZW5kCgp1bmxlc3MgRmliZXIucmVzcG9uZF90bz8oOmluaGVy aXRhYmxlKQogIEZpYmVyLnByZXBlbmQoRmliZXI6OkluaGVyaXRhYmxlKQplbmQKYGBgCgpUaGlz IGFsbG93cyB5b3UgdG8gd3JpdGUgdGhlIGZvbGxvd2luZyBjb2RlOgoKYGBgcnVieQpjbGFzcyBG aWJlcgogIGluaGVyaXRhYmxlIGF0dHJfYWNjZXNzb3IgOmNvbm5lY3Rpb24KZW5kCgojIFdoZW4g bGF6eSBlbnVtZXJhdG9yIGNyZWF0ZXMgaW50ZXJuYWwgZmliZXIsIHRoZSBjb25uZWN0aW9uIGFu ZCByZWxhdGVkIHN0YXRlIHdpbGwgYmUgaW5oZXJpdGVkIGNvcnJlY3RseToKcCBVc2VyLmZpcnN0 KDEwMCkuZmluZF9lYWNoLnppcChQb3N0LmZpcnN0KDEwMCkuZmluZF9lYWNoKQpgYGAKClRoaXMg cHJvcG9zZWQgaW1wbGVtZW50YXRpb24gd2FzIGRpc2N1c3NlZCBoZXJlIHRvbzogPGh0dHBzOi8v Z2l0aHViLmNvbS9zb2NrZXRyeS9maWJlci1sb2NhbC9wdWxsLzE+LgoKU29tZSBvcGVuIHF1ZXN0 aW9uczoKCi0gU2hvdWxkIHdlIGludHJvZHVjZSB0aGUgc2FtZSBpbnRlcmZhY2UgZm9yIFRocmVh ZD8KLSAob3IpIFNob3VsZCBUaHJlYWQubmV3J3MgbWFpbiBmaWJlciBpbmhlcml0IGZyb20gdGhl IGN1cnJlbnQgRmliZXI/Ci0gS290bGluJ3MgY29yb3V0aW5lIGNvbnRleHQgY2FuIGJlIHNoYXJl ZCBidXQgaXMgYWxzbyBpbW11dGFibGUuIFRoaXMgbWFrZXMgaXQgYSBsaXR0bGUgYml0IGhhcmRl ciB0byB1c2UuIFNob3VsZCB3ZSBjb25zaWRlciB0aGVpciBkZXNpZ24gbW9yZSBjbG9zZWx5Pwot IFNob3VsZCB3ZSBoYXZlIG9wdGlvbnMgdG8gYnlwYXNzIGluaGVyaXRpbmcgYXR0cmlidXRlcz8g ZS5nLiBgRmliZXIubmV3KGluaGVyaXRfYXR0cmlidXRlc19mcm9tOiAuLi4pYC4KCgoKCi0tIApo dHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy8KClVuc3Vic2NyaWJlOiA8bWFpbHRvOnJ1YnktY29y ZS1yZXF1ZXN0QHJ1YnktbGFuZy5vcmc/c3ViamVjdD11bnN1YnNjcmliZT4KPGh0dHA6Ly9saXN0 cy5ydWJ5LWxhbmcub3JnL2NnaS1iaW4vbWFpbG1hbi9vcHRpb25zL3J1YnktY29yZT4K