[ruby-core:109560] [Ruby master Feature#18965] Further Thread::Queue improvements
From:
"Eregon (Benoit Daloze)" <noreply@...>
Date:
2022-08-18 18:41:52 UTC
List:
ruby-core #109560
SXNzdWUgIzE4OTY1IGhhcyBiZWVuIHVwZGF0ZWQgYnkgRXJlZ29uIChCZW5vaXQgRGFsb3plKS4K Cgo+IFRoZW4gdGhlcmUncyB0aGUgcXVlc3Rpb24gb2YgaG93IFNpemVkUXVldWUgd291bGQgYmVo YXZlIGlmIGl0J3Mgbm90IGZ1bGwsIGJ1dCBzdGlsbCBkb2Vzbid0IGhhdmUgc3BhY2UgZm9yIGFs bCB0aGUgZWxlbWVudHMuIGUuZy4KPiBJIHRoaW5rIHRoZSBzaW1wbGVzdCB3b3VsZCBiZSB0byB3 YWl0IGZvciBlbm91Z2ggc3BhY2UgdG8gYXBwZW5kIHRoZSBlbnRpcmUgc2V0LCBiZWNhdXNlIGNv bWJpbmVkIHdpdGggYSB0aW1lb3V0LCBpdCB3b3VsZCBiZSBhd2t3YXJkIGlmIG9ubHkgcGFydCBv ZiB0aGUgYXJyYXkgd2FzIGNvbmNhdGVuYXRlZC4KClRoYXQgd291bGQgbWVhbiBiYXNpY2FsbHkg aWdub3JpbmcgdGhlIHRpbWVvdXQsIG5vdCBncmVhdC4KQW5kIG90aGVyIG9wdGlvbnMgbGlrZSBy ZXR1cm5pbmcgdGhlIG51bWJlciBvZiBlbGVtZW50cyBwdXNoZWQgb3IgbXV0YXRpbmcgdGhlIGFy cmF5IGRvbid0IHNlZW0gdG9vIG5pY2UgZWl0aGVyLgoKSSB0aGluayBmb3IgdGhlc2UgYmF0Y2gg cHVzaC9wb3AsIHRoZXkgc2hvdWxkIGJlIG1vdGl2YXRlZCB3aXRoIGJlbmNobWFya3MgKGlkZWFs bHkgYmFzZWQgb24gc29tZSByZWFsIHVzZS1jYXNlKSBhbmQgYSBwcm9vZi1vZi1jb25jZXB0IFBS LgpJTUhPIGl0IG1ha2VzIHNlbnNlIHRvIGFkZCB0aGVtIG9ubHkgaWYgdGhlcmUgaXMgYSBzaWdu aWZpY2FudCBwZXJmb3JtYW5jZSBnYWluLgoKQWxzbyB0aGlzIGNhbiBjYXVzZSBjb250ZW50aW9u IGFuZCBlLmcuIHN0YXJ2ZSB0aGUgb3Bwb3NpdGUgb3BlcmF0aW9uLCBlLmcuIGEgYmlnIGJhdGNo IHB1c2ggb2YgMTAwMCBlbGVtZW50cyBhbmQgb3RoZXIgdGhyZWFkcyB0cnlpbmcgdG8gcG9wIGFy ZSBhbGwgYmxvY2tlZCB3aGlsZSBwdXNoaW5nIHRoZXNlIGVsZW1lbnRzLCBub3QgZ29vZCBmb3Ig bGF0ZW5jeS9jb250ZW50aW9uLgoKPiBOb24gYmxvY2tpbmcgbW9kZSwgd2l0aG91dCBleGNlcHRp b24KCkFncmVlZCB3ZSBzaG91bGQgYWRkIHRoYXQuCgpUaGUga3dhcmcgc2VlbXMgYSBiaXQgY29u ZnVzaW5nIGdpdmVuIHRoZSBleGlzdGluZyBwb3NpdGlvbmFsIGFyZyAoYFF1ZXVlI3BvcChub25f YmxvY2s9ZmFsc2UpYCkuCk9UT0ggYG5vbmJsb2NrYCBpcyBraW5kIG9mIHRoZSBlc3RhYmxpc2hl ZCB0ZXJtIGZvciB0aGlzIChlLmcuLCBgcmVhZF9ub25ibG9ja2ApLgpJcyB0aGVyZSBhbnkgY29y ZSBtZXRob2QgY3VycmVudGx5IHdpdGggYSBgbm9uYmxvY2tgIGtleXdvcmQgYXJndW1lbnQ/CgpX aHkgbm90IGBleGNlcHRpb246IGZhbHNlYCB3aGljaCBzZWVtcyBtb3JlIHN0YW5kYXJkIGFuZCBl c3RhYmxpc2hlZCwgaS5lLiwgYHF1ZXVlLnBvcCh0cnVlLCBleGNlcHRpb246IGZhbHNlKWA/IFRv byB2ZXJib3NlL2luY29udmVuaWVudD8KU29tZSByZWxhdGVkIGRpc2N1c3Npb24gaW4gaHR0cHM6 Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzE4Nzc0I25vdGUtMTEKCkNvdWxkIGFsc28gYmUg YSBuZXcgbWV0aG9kIGxpa2UgYHBvcF9ub25ibG9ja2AgKGxpa2UgYHJlYWRfbm9uYmxvY2tgKSwg bm90IHN1cmUgaWYgYSBnb29kIGlkZWEgYnV0IHB1dHRpbmcgaXQgb3V0IHRoZXJlIGZvciB0aG91 Z2h0cy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KRmVhdHVyZSAj MTg5NjU6IEZ1cnRoZXIgVGhyZWFkOjpRdWV1ZSBpbXByb3ZlbWVudHMKaHR0cHM6Ly9idWdzLnJ1 YnktbGFuZy5vcmcvaXNzdWVzLzE4OTY1I2NoYW5nZS05ODczMQoKKiBBdXRob3I6IGJ5cm9vdCAo SmVhbiBCb3Vzc2llcikKKiBTdGF0dXM6IE9wZW4KKiBQcmlvcml0eTogTm9ybWFsCi0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KRm9sbG93aW5nIHRoZSByZWNlbnQgYWRk aXRpb24gb2YgYSBgdGltZW91dGAgcGFyYW1ldGVyIHRvIGBRdWV1ZSNwb3BgLCB0aGVyZSBhcmUg YSBoYW5kZnVsIG9mIG90aGVyIGltcHJvdmVtZW50cyBJJ2QgbGlrZSB0byBtYWtlLgoKCiMjIyBC YXRjaCBpbnNlcnQKCldoZW4gdXNpbmcgdGhlIHF1ZXVlIGZvciBiYXRjaCBwcm9jZXNzaW5nLCBp dCB3b3VsZCBiZSBnb29kIHRvIGJlIGFibGUgdG8gcHVzaCBtdWx0aXBsZSBlbGVtZW50cyBhdCBv bmNlOgoKQ3VycmVudGx5IHlvdSBoYXZlIHRvIGNhbGwgYHB1c2hgIHJlcGVhdGVkbHkKCmBgYHJ1 YnkKaXRlbXMuZWFjaCBkbyB8aXRlbXwKICBxdWV1ZS5wdXNoKGl0ZW0pCmVuZApgYGAKClRoYXQn cyB3YXN0ZWZ1bCBiZWNhdXNlIG9uIGVhY2ggY2FsbCB3ZSBjaGVjayB3ZXRoZXIgdGhlIHF1ZXVl IGlzIGNsb3NlZCwgdHJ5IHRvIHdha2V1cCBibG9ja2VkIHRocmVhZHMsIGV0Yy4KCkl0IHdvdWxk IGJlIG11Y2ggYmV0dGVyIGlmIHlvdSBjb3VsZCBkbzoKCmBgYHJ1YnkKcXVldWUuY29uY2F0KGl0 ZW1zKQpgYGAKCldpdGggb2YgY291cnNlIGJvdGggYG5vbmJsb2NrYCBhbmQgYHRpbWVvdXRgIHN1 cHBvcnQuCgpUaGVuIHRoZXJlJ3MgdGhlIHF1ZXN0aW9uIG9mIGhvdyBgU2l6ZWRRdWV1ZWAgd291 bGQgYmVoYXZlIGlmIGl0J3Mgbm90IGZ1bGwsIGJ1dCBzdGlsbCBkb2Vzbid0IGhhdmUgc3BhY2Ug Zm9yIGFsbCB0aGUgZWxlbWVudHMuIGUuZy4KYGBgcnVieQpxdWV1ZSA9IFNpemVkUXVldWUubmV3 KDEwKQpxdWV1ZS5jb25jYXQoNi50aW1lcy50b19hKQpxdWV1ZS5jb25jYXQoNi50aW1lcy50b19h KSAjIEJsb2NrIHVudGlsIHRoZXJlIGlzIDYgZnJlZSBzbG90cz8KYGBgCgpJIHRoaW5rIHRoZSBz aW1wbGVzdCB3b3VsZCBiZSB0byB3YWl0IGZvciBlbm91Z2ggc3BhY2UgdG8gYXBwZW5kIHRoZSBl bnRpcmUgc2V0LCBiZWNhdXNlIGNvbWJpbmVkIHdpdGggYSB0aW1lb3V0LCBpdCB3b3VsZCBiZSBh d2t3YXJkIGlmIG9ubHkgcGFydCBvZiB0aGUgYXJyYXkgd2FzIGNvbmNhdGVuYXRlZC4KCgojIyMg QmF0Y2ggcG9wCgpTaW1pbGFybHksIHNvbWV0aW1lcyB0aGUgY29uc3VtZXIgb2YgYSBxdWV1ZSBp cyBjYXBhYmxlIG9mIGJhdGNoaW5nLCBhbmQgcmlnaHQgbm93IGl0J3Mgbm90IGVmZmljaWVudDoK CgpgYGBydWJ5Cmxvb3AgZG8KICBpdGVtcyA9IFtxdWV1ZS5wb3BdCiAgYmVnaW4KICAgIDk5LnRp bWVzIGRvCiAgICAgIGl0ZW1zIDw8IHF1ZXVlLnBvcCh0cnVlKSAjIHRydWUgaXMgZm9yIG5vbmJs b2NrCiAgICBlbmQKICByZXNjdWUgVGhyZWFkRXJyb3IgIyBlbXB0eSBxdWV1ZQogIGVuZAogIHBy b2Nlc3NfaXRlbXMoaXRlbXMpCmVuZApgYGAKCkl0IHdvdWxkIGJlIG11Y2ggbW9yZSBlZmZpY2ll bnQgaWYgYHBvcGAgYWNjZXB0ZWQgYSBgY291bnRgIHBhcmFtZXRlcjoKCmBgYHJ1YnkKbG9vcCBk bwogIGl0ZW1zID0gcXVldWUucG9wKGNvdW50OiAxMDApCiAgcHJvY2Vzc19pdGVtcyhpdGVtcykK ZW5kCmBgYAoKVGhlIGJlaGF2aW9yIHdvdWxkIGJlOgogIC0gQmxvY2sgaWYgdGhlIHF1ZXVlIGlz IGVtcHR5CiAgLSBJZiBpdCdzIG5vdCBlbXB0eSwgcmV0dXJuICoqdXAgdG8qKiBgY291bnRgIGl0 ZW1zIChKdXN0IGxpa2UgYEFycmF5I3BvcGApCgoKIyMjIE5vbiBibG9ja2luZyBtb2RlLCB3aXRo b3V0IGV4Y2VwdGlvbgoKQXMgc2hvd24gYWJvdmUsIHRoZSBjdXJyZW50IGBub25ibG9ja2AgcGFy YW1ldGVyIGlzIGEgYml0IGF3a3dhcmQsIGJlY2F1c2U6CgogIC0gSXQgcmFpc2VzIGFuIGV4Y2Vw dGlvbiwgd2hpY2ggaXMgdmVyeSBleHBlbnNpdmUgZm9yIGEgY29uc3RydWN0IG9mdGVuIHVzZWQg aW4gImxvdyBsZXZlbCIgY29kZS4KICAtIFRoZSBleGNlcHRpb24gaXMgYFRocmVhZEVycm9yYCwg c28geW91IG1heSBoYXZlIHRvIG1hdGNoIHRoZSBlcnJvciBtZXNzYWdlIGZvciBgInF1ZXVlIGVt cHR5ImAsIHRvIG1ha2Ugc3VyZSBpdCBkb2Vzbid0IGNvbWUgZnJvbSBhIE11dGV4IGlzc3VlIG9y IHNvbWV0aGluZyBsaWtlIHRoYXQuCgoKSSBiZWxpZXZlIHRoYXQgd2UgY291bGQgaW50cm9kdWNl IGEga2V5d29yZCBhcmd1bWVudDoKCmBgYHJ1YnkKUXVldWUubmV3LnBvcChub25ibG9jazogdHJ1 ZSkgIyA9PiBuaWwKYGBgCgoKCgotLSAKaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvCgpVbnN1 YnNjcmliZTogPG1haWx0bzpydWJ5LWNvcmUtcmVxdWVzdEBydWJ5LWxhbmcub3JnP3N1YmplY3Q9 dW5zdWJzY3JpYmU+CjxodHRwOi8vbGlzdHMucnVieS1sYW5nLm9yZy9jZ2ktYmluL21haWxtYW4v b3B0aW9ucy9ydWJ5LWNvcmU+Cg==