[ruby-core:109563] [Ruby master Feature#18965] Further Thread::Queue improvements
From:
"Eregon (Benoit Daloze)" <noreply@...>
Date:
2022-08-18 18:59:09 UTC
List:
ruby-core #109563
SXNzdWUgIzE4OTY1IGhhcyBiZWVuIHVwZGF0ZWQgYnkgRXJlZ29uIChCZW5vaXQgRGFsb3plKS4K CgpjaHJpc3NlYXRvbiAoQ2hyaXMgU2VhdG9uKSB3cm90ZSBpbiAjbm90ZS0zOgo+IEkgd2FzIGdv aW5nIHRvIGNvbW1lbnQgdGhhdCBhZGRpbmcgb3IgcmVtb3ZpbmcgbXVsdGlwbGUgaXRlbXMgZnJv bSBhIHF1ZXVlIGlzIGxpa2VseSBub3QgZ3JlYXQgZm9yIGltcGxlbWVudGF0aW9uLCBhcyB3ZSdk IG5lZWQgYSBsb2NrIHRvIG1ha2UgdGhhdCBhdG9taWMgKG9yIHNvbWUgZ29vZCBpZGVhcyBvZiBo b3cgdG8gZG8gaXQgb3RoZXJ3aXNlLikgQnV0IHRoZW4gSSBsb29rZWQgYXQgVHJ1ZmZsZVJ1Ynkg YW5kIGV2ZW4gd2UncmUgdXNpbmcgYSBsb2NrIGFueXdheSwgc28gbm90aGluZyBoZXJlIGlzIGEg cHJvYmxlbS4KCkl0IGNvdWxkIGJlIHRob3VnaC4KCkF0IHNvbWUgcG9pbnQgVHJ1ZmZsZVJ1Ynkg dXNlZCBKYXZhJ3MgYExpbmtlZEJsb2NraW5nUXVldWVgIChyZW1vdmVkIGluIHRoaXMgW1BSXSho dHRwczovL2dpdGh1Yi5jb20vb3JhY2xlL3RydWZmbGVydWJ5L3B1bGwvMTMpIGJlY2F1c2UgaXQn cyBoYXJkIHRvIGltcGxlbWVudCBgUXVldWUjbnVtX3dhaXRpbmdgIHdpdGhvdXQgcG9raW5nIGlu IEpWTSBpbnRlcm5hbHMpIGFuZCBKUnVieSBjdXJyZW50bHkgdXNlcyBhIFt2YXJpYW50IG9mIGl0 XShodHRwczovL2dpdGh1Yi5jb20vanJ1YnkvanJ1YnkvYmxvYi9tYXN0ZXIvY29yZS9zcmMvbWFp bi9qYXZhL29yZy9qcnVieS9leHQvdGhyZWFkL1F1ZXVlLmphdmEpLCB3aGljaCBhcmUgbm9uLWJs b2NraW5nIHF1ZXVlIGltcGxlbWVudGF0aW9ucywgc28gdGhleSAodHlwaWNhbGx5KSBjYW5ub3Qg ZG8gbXVsdGlwbGUgb3BlcmF0aW9ucyAocHVzaCwgcG9wLCAuLi4pIGF0b21pY2FsbHkuCih0aGVy ZSBhcmUgYWxzbyB0cmFkZS1vZmZzIHdpdGggYSBub24tYmxvY2tpbmcgcXVldWUgYXMgaXQgbWln aHQgYmUgc2xvd2VyIGluIHNpbmdsZS10aHJlYWRlZC9sb3cgY29udGVudGlvbiBjYXNlcywgZS5n LiBodHRwczovL2dpdGh1Yi5jb20vb3JhY2xlL3RydWZmbGVydWJ5L2lzc3Vlcy81OTUpCgpKYXZh J3MgYExpbmtlZEJsb2NraW5nUXVldWVgIGFsc28gZG9lc24ndCBzZWVtIHRvIGltcGxlbWVudCBg YWRkQWxsKClgIHNvIGl0J3MganVzdCB0aGUgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBhZGRpbmcg b25lIGJ5IG9uZSwgaGVuY2UgYGFkZEFsbCgpYCBpcyBub3QgYXRvbWljIGFuZCB0aGUgYWRkZWQg ZWxlbWVudHMgbWlnaHQgYmUgaW50ZXJsZWF2ZWQgd2l0aCBhbm90aGVyIHRocmVhZCdzIHB1c2hl ZCBlbGVtZW50cy4KVGhhdCBtaWdodCBiZSBhbiBpbmRpY2F0aW9uIGEgYmF0Y2ggcHVzaC9wb3Ag aXMgbm90IHRoYXQgYmlnIGEgZ2FpbiBvciB0b28gcHJvYmxlbWF0aWMgZm9yIGNvbnRlbnRpb24u CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkZlYXR1cmUgIzE4OTY1 OiBGdXJ0aGVyIFRocmVhZDo6UXVldWUgaW1wcm92ZW1lbnRzCmh0dHBzOi8vYnVncy5ydWJ5LWxh bmcub3JnL2lzc3Vlcy8xODk2NSNjaGFuZ2UtOTg3MzQKCiogQXV0aG9yOiBieXJvb3QgKEplYW4g Qm91c3NpZXIpCiogU3RhdHVzOiBPcGVuCiogUHJpb3JpdHk6IE5vcm1hbAotLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkZvbGxvd2luZyB0aGUgcmVjZW50IGFkZGl0aW9u IG9mIGEgYHRpbWVvdXRgIHBhcmFtZXRlciB0byBgUXVldWUjcG9wYCwgdGhlcmUgYXJlIGEgaGFu ZGZ1bCBvZiBvdGhlciBpbXByb3ZlbWVudHMgSSdkIGxpa2UgdG8gbWFrZS4KCgojIyMgQmF0Y2gg aW5zZXJ0CgpXaGVuIHVzaW5nIHRoZSBxdWV1ZSBmb3IgYmF0Y2ggcHJvY2Vzc2luZywgaXQgd291 bGQgYmUgZ29vZCB0byBiZSBhYmxlIHRvIHB1c2ggbXVsdGlwbGUgZWxlbWVudHMgYXQgb25jZToK CkN1cnJlbnRseSB5b3UgaGF2ZSB0byBjYWxsIGBwdXNoYCByZXBlYXRlZGx5CgpgYGBydWJ5Cml0 ZW1zLmVhY2ggZG8gfGl0ZW18CiAgcXVldWUucHVzaChpdGVtKQplbmQKYGBgCgpUaGF0J3Mgd2Fz dGVmdWwgYmVjYXVzZSBvbiBlYWNoIGNhbGwgd2UgY2hlY2sgd2V0aGVyIHRoZSBxdWV1ZSBpcyBj bG9zZWQsIHRyeSB0byB3YWtldXAgYmxvY2tlZCB0aHJlYWRzLCBldGMuCgpJdCB3b3VsZCBiZSBt dWNoIGJldHRlciBpZiB5b3UgY291bGQgZG86CgpgYGBydWJ5CnF1ZXVlLmNvbmNhdChpdGVtcykK YGBgCgpXaXRoIG9mIGNvdXJzZSBib3RoIGBub25ibG9ja2AgYW5kIGB0aW1lb3V0YCBzdXBwb3J0 LgoKVGhlbiB0aGVyZSdzIHRoZSBxdWVzdGlvbiBvZiBob3cgYFNpemVkUXVldWVgIHdvdWxkIGJl aGF2ZSBpZiBpdCdzIG5vdCBmdWxsLCBidXQgc3RpbGwgZG9lc24ndCBoYXZlIHNwYWNlIGZvciBh bGwgdGhlIGVsZW1lbnRzLiBlLmcuCmBgYHJ1YnkKcXVldWUgPSBTaXplZFF1ZXVlLm5ldygxMCkK cXVldWUuY29uY2F0KDYudGltZXMudG9fYSkKcXVldWUuY29uY2F0KDYudGltZXMudG9fYSkgIyBC bG9jayB1bnRpbCB0aGVyZSBpcyA2IGZyZWUgc2xvdHM/CmBgYAoKSSB0aGluayB0aGUgc2ltcGxl c3Qgd291bGQgYmUgdG8gd2FpdCBmb3IgZW5vdWdoIHNwYWNlIHRvIGFwcGVuZCB0aGUgZW50aXJl IHNldCwgYmVjYXVzZSBjb21iaW5lZCB3aXRoIGEgdGltZW91dCwgaXQgd291bGQgYmUgYXdrd2Fy ZCBpZiBvbmx5IHBhcnQgb2YgdGhlIGFycmF5IHdhcyBjb25jYXRlbmF0ZWQuCgoKIyMjIEJhdGNo IHBvcAoKU2ltaWxhcmx5LCBzb21ldGltZXMgdGhlIGNvbnN1bWVyIG9mIGEgcXVldWUgaXMgY2Fw YWJsZSBvZiBiYXRjaGluZywgYW5kIHJpZ2h0IG5vdyBpdCdzIG5vdCBlZmZpY2llbnQ6CgoKYGBg cnVieQpsb29wIGRvCiAgaXRlbXMgPSBbcXVldWUucG9wXQogIGJlZ2luCiAgICA5OS50aW1lcyBk bwogICAgICBpdGVtcyA8PCBxdWV1ZS5wb3AodHJ1ZSkgIyB0cnVlIGlzIGZvciBub25ibG9jawog ICAgZW5kCiAgcmVzY3VlIFRocmVhZEVycm9yICMgZW1wdHkgcXVldWUKICBlbmQKICBwcm9jZXNz X2l0ZW1zKGl0ZW1zKQplbmQKYGBgCgpJdCB3b3VsZCBiZSBtdWNoIG1vcmUgZWZmaWNpZW50IGlm IGBwb3BgIGFjY2VwdGVkIGEgYGNvdW50YCBwYXJhbWV0ZXI6CgpgYGBydWJ5Cmxvb3AgZG8KICBp dGVtcyA9IHF1ZXVlLnBvcChjb3VudDogMTAwKQogIHByb2Nlc3NfaXRlbXMoaXRlbXMpCmVuZApg YGAKClRoZSBiZWhhdmlvciB3b3VsZCBiZToKICAtIEJsb2NrIGlmIHRoZSBxdWV1ZSBpcyBlbXB0 eQogIC0gSWYgaXQncyBub3QgZW1wdHksIHJldHVybiAqKnVwIHRvKiogYGNvdW50YCBpdGVtcyAo SnVzdCBsaWtlIGBBcnJheSNwb3BgKQoKCiMjIyBOb24gYmxvY2tpbmcgbW9kZSwgd2l0aG91dCBl eGNlcHRpb24KCkFzIHNob3duIGFib3ZlLCB0aGUgY3VycmVudCBgbm9uYmxvY2tgIHBhcmFtZXRl ciBpcyBhIGJpdCBhd2t3YXJkLCBiZWNhdXNlOgoKICAtIEl0IHJhaXNlcyBhbiBleGNlcHRpb24s IHdoaWNoIGlzIHZlcnkgZXhwZW5zaXZlIGZvciBhIGNvbnN0cnVjdCBvZnRlbiB1c2VkIGluICJs b3cgbGV2ZWwiIGNvZGUuCiAgLSBUaGUgZXhjZXB0aW9uIGlzIGBUaHJlYWRFcnJvcmAsIHNvIHlv dSBtYXkgaGF2ZSB0byBtYXRjaCB0aGUgZXJyb3IgbWVzc2FnZSBmb3IgYCJxdWV1ZSBlbXB0eSJg LCB0byBtYWtlIHN1cmUgaXQgZG9lc24ndCBjb21lIGZyb20gYSBNdXRleCBpc3N1ZSBvciBzb21l dGhpbmcgbGlrZSB0aGF0LgoKCkkgYmVsaWV2ZSB0aGF0IHdlIGNvdWxkIGludHJvZHVjZSBhIGtl eXdvcmQgYXJndW1lbnQ6CgpgYGBydWJ5ClF1ZXVlLm5ldy5wb3Aobm9uYmxvY2s6IHRydWUpICMg PT4gbmlsCmBgYAoKCgoKLS0gCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnLwoKVW5zdWJzY3Jp YmU6IDxtYWlsdG86cnVieS1jb3JlLXJlcXVlc3RAcnVieS1sYW5nLm9yZz9zdWJqZWN0PXVuc3Vi c2NyaWJlPgo8aHR0cDovL2xpc3RzLnJ1YnktbGFuZy5vcmcvY2dpLWJpbi9tYWlsbWFuL29wdGlv bnMvcnVieS1jb3JlPgo=