[#110300] [Ruby master Bug#19057] Hide implementation of `rb_io_t`. — "ioquatix (Samuel Williams)" <noreply@...>
SXNzdWUgIzE5MDU3IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGlvcXVhdGl4IChTYW11ZWwgV2lsbGlh
53 messages
2022/10/15
[ruby-core:110317] [Ruby master Feature#19058] Introduce `Fiber.inheritable` attributes/variables for dealing with shared state.
From:
"ioquatix (Samuel Williams)" <noreply@...>
Date:
2022-10-16 02:30:31 UTC
List:
ruby-core #110317
SXNzdWUgIzE5MDU4IGhhcyBiZWVuIHVwZGF0ZWQgYnkgaW9xdWF0aXggKFNhbXVlbCBXaWxsaWFt cykuCgoKSW1wbGVtZW50aW5nIHRoZSBwcm9wb3NhbCBlZmZpY2llbnRseSB3b3VsZCByZXF1aXJl IHNvbWUgbW9yZSB3b3JrLiBUaGUgcHJvcG9zZWQgaW1wbGVtZW50YXRpb24gaXMgTyhudW1iZXIg b2YgaW5oZXJpdGFibGUgYXR0cmlidXRlcykgcGVyIGZpYmVyIGNyZWF0aW9uIHdoaWNoIGlzIG5v dCBpZGVhbC4KCklmIHdlIGhhZCBlZmZpY2llbnQgY29weS1vbi13cml0ZSBoYXNoIHRhYmxlLCBz b21ldGhpbmcgbGlrZSB0aGlzIG1pZ2h0IHdvcms6CgpgYGAKY2xhc3MgRmliZXIKCWRlZiBpbml0 aWFsaXplCgkJIyBlZmZpY2llbnQgY29weS1vbi13cml0ZQoJCUBsb2NhbHMgPSBGaWJlci5jdXJy ZW50LmxvY2Fscy5kdXAKCWVuZAoKCWF0dHIgOmxvY2FscwplbmQKYGBgCgoKLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpGZWF0dXJlICMxOTA1ODogSW50cm9kdWNlIGBG aWJlci5pbmhlcml0YWJsZWAgYXR0cmlidXRlcy92YXJpYWJsZXMgZm9yIGRlYWxpbmcgd2l0aCBz aGFyZWQgc3RhdGUuCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnL2lzc3Vlcy8xOTA1OCNjaGFu Z2UtOTk2MDcKCiogQXV0aG9yOiBpb3F1YXRpeCAoU2FtdWVsIFdpbGxpYW1zKQoqIFN0YXR1czog T3BlbgoqIFByaW9yaXR5OiBOb3JtYWwKKiBBc3NpZ25lZTogaW9xdWF0aXggKFNhbXVlbCBXaWxs aWFtcykKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpUaGVyZSBhcmUg bWFueSBpbnN0YW5jZXMgb2YgcHJvZ3JhbXMgdXNpbmcgZ2xvYmFscywgdGhyZWFkIGxvY2FscyBh bmQgZmliZXIgbG9jYWxzIGZvciBzaGFyZWQgc3RhdGUuIFVuZm9ydHVuYXRlbHkgdGhlc2UgcHJv Z3JhbXMgb2Z0ZW4gaGF2ZSBidWdzIG9yIHVudXN1YWwgYmVoYXZpb3VyIHdoZW4gb2JqZWN0cyBh cmUgdXNlZCBvbiBkaWZmZXJlbnQgdGhyZWFkcyBvciBmaWJlcnMuCgpIZXJlIGlzIGEgc2ltcGxl IGV4YW1wbGUgb2YgdGhlIGtpbmQgb2YgcHJvYmxlbSB0aGF0IGNhbiBvY2N1cjoKCmBgYHJ1YnkK Y2xhc3MgVXNlcnMKICBkZWYgZWFjaAogICAgcmV0dXJuIHRvX2VudW0gdW5sZXNzIGJsb2NrX2dp dmVuPwogICAgcCBlYWNoOiBGaWJlci5jdXJyZW50CiAgICB5aWVsZCAiQSIKICAgIHlpZWxkICJC IgogICAgeWllbGQgIkMiCiAgZW5kCmVuZAoKcCBVc2Vycy5uZXcuZWFjaC56aXAoVXNlcnMubmV3 LmVhY2gpCmBgYAoKV2hlbiB0aGUgZW51bWVyYXRpb24gZGVwZW5kcyBvbiBhIGZpYmVyLWxvY2Fs IGNvbm5lY3Rpb24gaW5zdGFuY2UgKGUuZy4gYFRocmVhZC5jdXJyZW50Wzpjb25uZWN0aW9uXWAp IGl0IGNvdWxkIHVuZXhwZWN0ZWRseSBicmVhayB0aGUgb3BlcmF0aW9uIGJlY2F1c2Ugd2l0aGlu IHRoZSBlbnVtZXJhdGUsIHRoZSBmaWJlciBpcyBkaWZmZXJlbnQgbGVhZGluZyB0byBtaXNzaW5n IGNvbm5lY3Rpb24uCgpJbiBhbGwgdGhlc2UgY2FzZXMsIHRoZSBwcm9ibGVtIGNhbiBiZSBzb2x2 ZWQgYnkgbm90IHJlbHlpbmcgb24gaW1wbGljaXQvaW52aXNpYmxlIHN0YXRlLiBVbmZvcnR1bmF0 ZWx5LCBtYW55IHByb2dyYW1zIHRha2UgYWR2YW50YWdlIG9mIHByb2Nlc3MgKGdsb2JhbCksIHRo cmVhZCBvciBmaWJlciBsb2NhbCB2YXJpYWJsZXMgdG8gY3JlYXRlIG1vcmUgZXJnb25vbWljIGlu dGVyZmFjZXMsIGUuZy4KCmBgYHJ1YnkKREIuY29ubmVjdCh1c2VybmFtZSwgcGFzc3dvcmQsIGhv c3QpCgpEQi5xdWVyeSgiU0VMRUNUICogRlJPTSBCVUdTIik7ICMgaW1wbGljaXQgZGVwZW5kZW5j eSBvbiBjb25uZWN0aW9uLgpgYGAKClJ1YnkgcHJvdmlkZXMgc2V2ZXJhbCwgc29tZXdoYXQgY29u ZnVzaW5nIG9wdGlvbnMuCgpgYGBydWJ5ClRocmVhZC5jdXJyZW50Wzp4XSAjIEZpYmVyIGxvY2Fs LgpUaHJlYWQuY3VycmVudC50aHJlYWRfdmFyaWFibGVfZ2V0KDp4KSAjIFRocmVhZCBsb2NhbC4K CmNsYXNzIFRocmVhZAogIGF0dHIgOngKZW5kCgpUaHJlYWQuY3VycmVudC54ICMgdGhyZWFkIGxv Y2FsCgpjbGFzcyBGaWJlcgogIGF0dHIgOngKZW5kCgpGaWJlci5jdXJyZW50LnggIyBmaWJlciBs b2NhbApgYGAKCk92ZXIgdGhlIHllYXJzIHRoZXJlIGhhdmUgYmVlbiBtdWx0aXBsZSBpc3N1ZXMg YWJvdXQgdGhlIGFib3ZlIGJlaGF2aW91cjoKCi0gaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcv aXNzdWVzLzE3MTcKLSBodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMvNzA5NwotIGh0 dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnL2lzc3Vlcy84MjE1Ci0gaHR0cHM6Ly9idWdzLnJ1Ynkt bGFuZy5vcmcvaXNzdWVzLzEzODkzCi0gUmFpbHMgaXMgYWxzbyB3b3JraW5nIGFyb3VuZCB0aGlz IGlzc3VlOiBodHRwczovL2dpdGh1Yi5jb20vcmFpbHMvcmFpbHMvcHVsbC80MzU5NgoKVGhlIGhl YXJ0IG9mIHRoZSBpc3N1ZSBpczogdGhlcmUgc2hvdWxkIGJlIGEgY29uc2lzdGVudCBhbmQgY29u dmVuaWVudCB3YXkgdG8gZGVmaW5lIHN0YXRlIGF0dGFjaGVkIHRvIHRoZSBjdXJyZW50IGV4ZWN1 dGlvbiBjb250ZXh0LCB3aGljaCBnZXRzIGluaGVyaXRlZCBieSBjaGlsZCBleGVjdXRpb24gY29u dGV4dHMuIEVzc2VudGlhbGx5OgoKYGBgcnVieQpsZXQoeDogMTApIGRvCiAgIyBJbiBldmVyeSBl eGVjdXRpb24gY29udGV4dCBjcmVhdGVkIHdpdGhpbiB0aGlzIGJsb2NrLCB1bmxlc3Mgb3RoZXJ3 aXNlIGNoYW5nZWQsIGB4YCBpcyBib3VuZCB0byB0aGUgdmFsdWUgMTAuIFRoYXQgbWVhbnMsIHRo cmVhZHMsIGZpYmVycywgZXRjLgplbmQKYGBgCgpUaGlzIGlzIHNvbWV0aW1lcyByZWZlcnJlZCB0 byBhcyBkeW5hbWljIHNjb3BlLiBUaGlzIHByb3Bvc2FsIGlzIHRvIGludHJvZHVjZSBhIHNpbWls YXIgZHluYW1pYyBzY29wZSBmb3IgZmliZXIgaW5oZXJpdGFibGUgYXR0cmlidXRlcy4KCiMjIFBy b3Bvc2FsCgpXZSBoYXZlIHNldmVyYWwgdW5pdHMgb2YgZXhlY3V0aW9uIGluIFJ1YnksIGltcGxp Y2l0bHkgYSBwcm9jZXNzLCB3aGljaCBoYXMgdGhyZWFkcyB3aGljaCBoYXMgZmliZXJzLiBJbnRl cm5hbGx5LCBSdWJ5IGhhcyBhbiAiZXhlY3V0aW9uIGNvbnRleHQiLiBFYWNoIGZpYmVyIGhhcyBh biBleGVjdXRpb24gY29udGV4dC4gRWFjaCB0aHJlYWQgaGFzIGEgbWFpbiBmaWJlciBhbmQgZXhl Y3V0aW9uIGNvbnRleHQuIEkgcHJvcG9zZSB0byBpbnRyb2R1Y2UgYW4gaW50ZXJmYWNlIGZvciBk ZWZpbmluZyBhIHBlci1maWJlciBjb250ZXh0IHdoaWNoIGlzIHNlbWFudGljYWxseSB2ZXJ5IHNp bWlsYXIgdG8gZHluYW1pYyB2YXJpYWJsZXMuIFRydWUgZHluYW1pYyB2YXJpYWJsZXMgYXJlIHN0 YWNrIGZyYW1lIHNjb3BlZCwgYnV0IG15IHByb3Bvc2FsIGRvZXNuJ3QgZ28gdGhhdCBmYXIuIFRo aXMgcHJvcG9zYWwgaXMgc2ltaWxhciB0byBLb3RsaW4ncyBDb3JvdXRpbmUgQ29udGV4dHMgPGh0 dHBzOi8va290bGlubGFuZy5vcmcvZG9jcy9jb3JvdXRpbmUtY29udGV4dC1hbmQtZGlzcGF0Y2hl cnMuaHRtbD4gYW5kIEpFUCA0Mjk6IEV4dGVudC1Mb2NhbCBWYXJpYWJsZXMgPGh0dHBzOi8vb3Bl bmpkay5vcmcvamVwcy80Mjk+LgoKYGBgcnVieQpyZXF1aXJlICdmaWJlcicKCiMgQ29tcGF0aWJs ZSBzaGltIHRvIGludHJvZHVjZSBwcm9wb3NlZCBiZWhhdmlvdXI6CmNsYXNzIEZpYmVyCiAgbW9k dWxlIEluaGVyaXRhYmxlCiAgICBkZWYgaW5pdGlhbGl6ZSguLi4pCiAgICAgIHN1cGVyKC4uLikK ICAgICAgCiAgICAgIHNlbGYuaW5oZXJpdF9hdHRyaWJ1dGVzX2Zyb20oRmliZXIuY3VycmVudCkK ICAgIGVuZAogICAgCiAgICBkZWYgc2VsZi5wcmVwZW5kZWQoa2xhc3MpCiAgICAgIGtsYXNzLmV4 dGVuZChTaW5nbGV0b24pCiAgICAgIGtsYXNzLmluc3RhbmNlX3ZhcmlhYmxlX3NldCg6QGluaGVy aXRhYmxlX2F0dHJpYnV0ZXMsIEhhc2gubmV3KQogICAgZW5kCiAgICAKICAgIG1vZHVsZSBTaW5n bGV0b24KICAgICAgZGVmIGluaGVyaXRhYmxlKGtleSwgZGVmYXVsdDogbmlsKQogICAgICAgIEBp bmhlcml0YWJsZV9hdHRyaWJ1dGVzWzoiQCN7a2V5fSJdID0gZGVmYXVsdAogICAgICBlbmQKICAg ICAgCiAgICAgIGRlZiBpbmhlcml0YWJsZV9hdHRyaWJ1dGVzCiAgICAgICAgQGluaGVyaXRhYmxl X2F0dHJpYnV0ZXMKICAgICAgZW5kCiAgICBlbmQKICAgIAogICAgZGVmIGluaGVyaXRfYXR0cmli dXRlc19mcm9tKGZpYmVyKQogICAgICBzZWxmLmNsYXNzLmluaGVyaXRhYmxlX2F0dHJpYnV0ZXMu ZWFjaCBkbyB8bmFtZSwgZGVmYXVsdHwKICAgICAgICB2YWx1ZSA9IGZpYmVyLmluc3RhbmNlX3Zh cmlhYmxlX2dldChuYW1lKSB8fCBkZWZhdWx0CiAgICAgICAgc2VsZi5pbnN0YW5jZV92YXJpYWJs ZV9zZXQobmFtZSwgdmFsdWUpCiAgICAgIGVuZAogICAgZW5kCiAgZW5kCmVuZAoKdW5sZXNzIEZp YmVyLnJlc3BvbmRfdG8/KDppbmhlcml0YWJsZSkKICBGaWJlci5wcmVwZW5kKEZpYmVyOjpJbmhl cml0YWJsZSkKZW5kCmBgYAoKVGhpcyBhbGxvd3MgeW91IHRvIHdyaXRlIHRoZSBmb2xsb3dpbmcg Y29kZToKCmBgYHJ1YnkKY2xhc3MgRmliZXIKICBpbmhlcml0YWJsZSBhdHRyX2FjY2Vzc29yIDpj b25uZWN0aW9uCmVuZAoKIyBXaGVuIGxhenkgZW51bWVyYXRvciBjcmVhdGVzIGludGVybmFsIGZp YmVyLCB0aGUgY29ubmVjdGlvbiBhbmQgcmVsYXRlZCBzdGF0ZSB3aWxsIGJlIGluaGVyaXRlZCBj b3JyZWN0bHk6CnAgVXNlci5maXJzdCgxMDApLmZpbmRfZWFjaC56aXAoUG9zdC5maXJzdCgxMDAp LmZpbmRfZWFjaCkKYGBgCgpUaGlzIHByb3Bvc2VkIGltcGxlbWVudGF0aW9uIHdhcyBkaXNjdXNz ZWQgaGVyZSB0b286IDxodHRwczovL2dpdGh1Yi5jb20vc29ja2V0cnkvZmliZXItbG9jYWwvcHVs bC8xPi4KClNvbWUgb3BlbiBxdWVzdGlvbnM6CgotIFNob3VsZCB3ZSBpbnRyb2R1Y2UgdGhlIHNh bWUgaW50ZXJmYWNlIGZvciBUaHJlYWQ/Ci0gKG9yKSBTaG91bGQgVGhyZWFkLm5ldydzIG1haW4g ZmliZXIgaW5oZXJpdCBmcm9tIHRoZSBjdXJyZW50IEZpYmVyPwotIEtvdGxpbidzIGNvcm91dGlu ZSBjb250ZXh0IGNhbiBiZSBzaGFyZWQgYnV0IGlzIGFsc28gaW1tdXRhYmxlLiBUaGlzIG1ha2Vz IGl0IGEgbGl0dGxlIGJpdCBoYXJkZXIgdG8gdXNlLiBTaG91bGQgd2UgY29uc2lkZXIgdGhlaXIg ZGVzaWduIG1vcmUgY2xvc2VseT8KLSBTaG91bGQgd2UgaGF2ZSBvcHRpb25zIHRvIGJ5cGFzcyBp bmhlcml0aW5nIGF0dHJpYnV0ZXM/IGUuZy4gYEZpYmVyLm5ldyhpbmhlcml0X2F0dHJpYnV0ZXNf ZnJvbTogLi4uKWAuCgoKCgotLSAKaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvCgpVbnN1YnNj cmliZTogPG1haWx0bzpydWJ5LWNvcmUtcmVxdWVzdEBydWJ5LWxhbmcub3JnP3N1YmplY3Q9dW5z dWJzY3JpYmU+CjxodHRwOi8vbGlzdHMucnVieS1sYW5nLm9yZy9jZ2ktYmluL21haWxtYW4vb3B0 aW9ucy9ydWJ5LWNvcmU+Cg==