[ruby-core:109588] [Ruby master Feature#18965] Further Thread::Queue improvements
From:
"Eregon (Benoit Daloze)" <noreply@...>
Date:
2022-08-20 11:13:12 UTC
List:
ruby-core #109588
SXNzdWUgIzE4OTY1IGhhcyBiZWVuIHVwZGF0ZWQgYnkgRXJlZ29uIChCZW5vaXQgRGFsb3plKS4K CgpUaGFuayB5b3UgZm9yIHRoZSBiZW5jaG1hcmsuCkdpdmVuIHRoZSByZXN1bHRzLCBJIHRoaW5r IGl0J3MgY3VycmVudGx5IG5vdCB3b3J0aCBpdCB0byBhZGQgYmF0Y2ggcHVzaC9wb3AsIGJlY2F1 c2UgaXQgZG9lcyBub3Qgc2VlbSB0byBpbXByb3ZlIHBlcmZvcm1hbmNlIG11Y2ggb3ZlciBhIGxv b3Agb2Ygc2luZ2xlIHB1c2gvcG9wIGluIHJlYWxpc3RpYyB3b3JrbG9hZHMgYW5kIHRoZSBzZW1h bnRpY3MgYXJlIHF1aXRlIGEgYml0IG1vcmUgY29tcGxpY2F0ZWQuCkFsc28gZGVwZW5kaW5nIG9u IHRoZSBRdWV1ZS9TaXplZFF1ZXVlIGltcGxlbWVudGF0aW9uICh0eXBpY2FsIGZvciBub24tYmxv Y2tpbmcgcXVldWVzKSB0aGVyZSBtaWdodCBzaW1wbHkgbm90IGJlIGEgd2F5IHRvIGRvIGJhdGNo IHB1c2gvcG9wLCBtYWtpbmcgdGhlIHBlcmZvcm1hbmNlIGJlbmVmaXQgYWN0dWFsbHkgemVybyBm b3IgdGhvc2UgaW1wbGVtZW50YXRpb25zICh3ZWxsLCBzbGlnaHRseSBsZXNzIFJ1YnkgY2FsbHMg YnV0IEpJVHMgYXJlIGdvb2QgYXQgcmVtb3ZpbmcgdGhlIGNvc3Qgb2YgdGhhdCkuCgpJJ2Qgc3Vn Z2VzdCB0byBmb2N1cyBvbiBgUXVldWUubmV3LnBvcChub25ibG9jazogdHJ1ZSkgIyA9PiBuaWxg LgpVc2luZyB0aGUga2V5d29yZCBhcyBhIHdheSB0byBkZXByZWNhdGUgdGhlIHBvc2l0aW9uYWwg YXJndW1lbnQgbWFrZXMgc2Vuc2UgdG8gbWUsIHNvIEkgYWdyZWUgd2l0aCBgcG9wKG5vbmJsb2Nr OiB0cnVlL2ZhbHNlKWAuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CkZlYXR1cmUgIzE4OTY1OiBGdXJ0aGVyIFRocmVhZDo6UXVldWUgaW1wcm92ZW1lbnRzCmh0dHBz Oi8vYnVncy5ydWJ5LWxhbmcub3JnL2lzc3Vlcy8xODk2NSNjaGFuZ2UtOTg3NjMKCiogQXV0aG9y OiBieXJvb3QgKEplYW4gQm91c3NpZXIpCiogU3RhdHVzOiBPcGVuCiogUHJpb3JpdHk6IE5vcm1h bAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkZvbGxvd2luZyB0aGUg cmVjZW50IGFkZGl0aW9uIG9mIGEgYHRpbWVvdXRgIHBhcmFtZXRlciB0byBgUXVldWUjcG9wYCwg dGhlcmUgYXJlIGEgaGFuZGZ1bCBvZiBvdGhlciBpbXByb3ZlbWVudHMgSSdkIGxpa2UgdG8gbWFr ZS4KCgojIyMgQmF0Y2ggaW5zZXJ0CgpXaGVuIHVzaW5nIHRoZSBxdWV1ZSBmb3IgYmF0Y2ggcHJv Y2Vzc2luZywgaXQgd291bGQgYmUgZ29vZCB0byBiZSBhYmxlIHRvIHB1c2ggbXVsdGlwbGUgZWxl bWVudHMgYXQgb25jZToKCkN1cnJlbnRseSB5b3UgaGF2ZSB0byBjYWxsIGBwdXNoYCByZXBlYXRl ZGx5CgpgYGBydWJ5Cml0ZW1zLmVhY2ggZG8gfGl0ZW18CiAgcXVldWUucHVzaChpdGVtKQplbmQK YGBgCgpUaGF0J3Mgd2FzdGVmdWwgYmVjYXVzZSBvbiBlYWNoIGNhbGwgd2UgY2hlY2sgd2V0aGVy IHRoZSBxdWV1ZSBpcyBjbG9zZWQsIHRyeSB0byB3YWtldXAgYmxvY2tlZCB0aHJlYWRzLCBldGMu CgpJdCB3b3VsZCBiZSBtdWNoIGJldHRlciBpZiB5b3UgY291bGQgZG86CgpgYGBydWJ5CnF1ZXVl LmNvbmNhdChpdGVtcykKYGBgCgpXaXRoIG9mIGNvdXJzZSBib3RoIGBub25ibG9ja2AgYW5kIGB0 aW1lb3V0YCBzdXBwb3J0LgoKVGhlbiB0aGVyZSdzIHRoZSBxdWVzdGlvbiBvZiBob3cgYFNpemVk UXVldWVgIHdvdWxkIGJlaGF2ZSBpZiBpdCdzIG5vdCBmdWxsLCBidXQgc3RpbGwgZG9lc24ndCBo YXZlIHNwYWNlIGZvciBhbGwgdGhlIGVsZW1lbnRzLiBlLmcuCmBgYHJ1YnkKcXVldWUgPSBTaXpl ZFF1ZXVlLm5ldygxMCkKcXVldWUuY29uY2F0KDYudGltZXMudG9fYSkKcXVldWUuY29uY2F0KDYu dGltZXMudG9fYSkgIyBCbG9jayB1bnRpbCB0aGVyZSBpcyA2IGZyZWUgc2xvdHM/CmBgYAoKSSB0 aGluayB0aGUgc2ltcGxlc3Qgd291bGQgYmUgdG8gd2FpdCBmb3IgZW5vdWdoIHNwYWNlIHRvIGFw cGVuZCB0aGUgZW50aXJlIHNldCwgYmVjYXVzZSBjb21iaW5lZCB3aXRoIGEgdGltZW91dCwgaXQg d291bGQgYmUgYXdrd2FyZCBpZiBvbmx5IHBhcnQgb2YgdGhlIGFycmF5IHdhcyBjb25jYXRlbmF0 ZWQuCgoKIyMjIEJhdGNoIHBvcAoKU2ltaWxhcmx5LCBzb21ldGltZXMgdGhlIGNvbnN1bWVyIG9m IGEgcXVldWUgaXMgY2FwYWJsZSBvZiBiYXRjaGluZywgYW5kIHJpZ2h0IG5vdyBpdCdzIG5vdCBl ZmZpY2llbnQ6CgoKYGBgcnVieQpsb29wIGRvCiAgaXRlbXMgPSBbcXVldWUucG9wXQogIGJlZ2lu CiAgICA5OS50aW1lcyBkbwogICAgICBpdGVtcyA8PCBxdWV1ZS5wb3AodHJ1ZSkgIyB0cnVlIGlz IGZvciBub25ibG9jawogICAgZW5kCiAgcmVzY3VlIFRocmVhZEVycm9yICMgZW1wdHkgcXVldWUK ICBlbmQKICBwcm9jZXNzX2l0ZW1zKGl0ZW1zKQplbmQKYGBgCgpJdCB3b3VsZCBiZSBtdWNoIG1v cmUgZWZmaWNpZW50IGlmIGBwb3BgIGFjY2VwdGVkIGEgYGNvdW50YCBwYXJhbWV0ZXI6CgpgYGBy dWJ5Cmxvb3AgZG8KICBpdGVtcyA9IHF1ZXVlLnBvcChjb3VudDogMTAwKQogIHByb2Nlc3NfaXRl bXMoaXRlbXMpCmVuZApgYGAKClRoZSBiZWhhdmlvciB3b3VsZCBiZToKICAtIEJsb2NrIGlmIHRo ZSBxdWV1ZSBpcyBlbXB0eQogIC0gSWYgaXQncyBub3QgZW1wdHksIHJldHVybiAqKnVwIHRvKiog YGNvdW50YCBpdGVtcyAoSnVzdCBsaWtlIGBBcnJheSNwb3BgKQoKCiMjIyBOb24gYmxvY2tpbmcg bW9kZSwgd2l0aG91dCBleGNlcHRpb24KCkFzIHNob3duIGFib3ZlLCB0aGUgY3VycmVudCBgbm9u YmxvY2tgIHBhcmFtZXRlciBpcyBhIGJpdCBhd2t3YXJkLCBiZWNhdXNlOgoKICAtIEl0IHJhaXNl cyBhbiBleGNlcHRpb24sIHdoaWNoIGlzIHZlcnkgZXhwZW5zaXZlIGZvciBhIGNvbnN0cnVjdCBv ZnRlbiB1c2VkIGluICJsb3cgbGV2ZWwiIGNvZGUuCiAgLSBUaGUgZXhjZXB0aW9uIGlzIGBUaHJl YWRFcnJvcmAsIHNvIHlvdSBtYXkgaGF2ZSB0byBtYXRjaCB0aGUgZXJyb3IgbWVzc2FnZSBmb3Ig YCJxdWV1ZSBlbXB0eSJgLCB0byBtYWtlIHN1cmUgaXQgZG9lc24ndCBjb21lIGZyb20gYSBNdXRl eCBpc3N1ZSBvciBzb21ldGhpbmcgbGlrZSB0aGF0LgoKCkkgYmVsaWV2ZSB0aGF0IHdlIGNvdWxk IGludHJvZHVjZSBhIGtleXdvcmQgYXJndW1lbnQ6CgpgYGBydWJ5ClF1ZXVlLm5ldy5wb3Aobm9u YmxvY2s6IHRydWUpICMgPT4gbmlsCmBgYAoKCgoKLS0gCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcu b3JnLwoKVW5zdWJzY3JpYmU6IDxtYWlsdG86cnVieS1jb3JlLXJlcXVlc3RAcnVieS1sYW5nLm9y Zz9zdWJqZWN0PXVuc3Vic2NyaWJlPgo8aHR0cDovL2xpc3RzLnJ1YnktbGFuZy5vcmcvY2dpLWJp bi9tYWlsbWFuL29wdGlvbnMvcnVieS1jb3JlPgo=