[ruby-core:109596] [Ruby master Feature#18965] Further Thread::Queue improvements
From:
"byroot (Jean Boussier)" <noreply@...>
Date:
2022-08-20 12:48:39 UTC
List:
ruby-core #109596
SXNzdWUgIzE4OTY1IGhhcyBiZWVuIHVwZGF0ZWQgYnkgYnlyb290IChKZWFuIEJvdXNzaWVyKS4K CgpgcG9wKG5vbmJsb2NrOiB0cnVlKWAgdGhhdCB3b3VsZG4ndCByYWlzZSBkZWZpbml0ZWx5IG1h a2Ugc2Vuc2UgdG8gbWUsIHNvIEknbGwgZm9yIHN1cmUgcHJvcG9zZSBpdCBhdCB0aGUgbmV4dCBt ZWV0aW5nLgoKPiBBbHNvIGRlcGVuZGluZyBvbiB0aGUgUXVldWUvU2l6ZWRRdWV1ZSBpbXBsZW1l bnRhdGlvbiAodHlwaWNhbCBmb3Igbm9uLWJsb2NraW5nIHF1ZXVlcykgdGhlcmUgbWlnaHQgc2lt cGx5IG5vdCBiZSBhIHdheSB0byBkbyBiYXRjaCBwdXNoL3BvcCwKCklzIGl0IHRydWUgZm9yIGJv dGggcHVzaCBhbmQgcG9wPyBJIGNhbiBzZWUgdGhlIGlzc3VlIGZvciBwdXNoLCBidXQgbm8gc28g bXVjaCBmb3IgcG9wLgoKCkkgbm8gbG9uZ2VyIHRoaW5rIGEgYmF0Y2ggcHVzaCBpcyBuZWNlc3Nh cnksIHNvIEknbGwgcmVtb3ZlIHRoYXQgcGFydCBvZiB0aGUgcHJvcG9zYWwsIGJ1dCBJIHN0aWxs IHRoaW5rIGBwb3AoY291bnQ6IClgIG1ha2VzIHRoZSBjYWxsaW5nIGNvZGUgbXVjaCBtdWNoIHNp bXBsZXIsIHNvIEknZCBzdGlsbCBsaWtlIHRvIGhhdmUgaXQgZXZlbiBpZiBpdCBkb2Vzbid0IGlt cHJvdmUgcGVyZm9ybWFuY2Ugc2lnbmlmaWNhbnRseS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KRmVhdHVyZSAjMTg5NjU6IEZ1cnRoZXIgVGhyZWFkOjpRdWV1ZSBp bXByb3ZlbWVudHMKaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzE4OTY1I2NoYW5n ZS05ODc3OAoKKiBBdXRob3I6IGJ5cm9vdCAoSmVhbiBCb3Vzc2llcikKKiBTdGF0dXM6IE9wZW4K KiBQcmlvcml0eTogTm9ybWFsCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KRm9sbG93aW5nIHRoZSByZWNlbnQgYWRkaXRpb24gb2YgYSBgdGltZW91dGAgcGFyYW1ldGVy IHRvIGBRdWV1ZSNwb3BgLCB0aGVyZSBhcmUgYSBoYW5kZnVsIG9mIG90aGVyIGltcHJvdmVtZW50 cyBJJ2QgbGlrZSB0byBtYWtlLgoKCiMjIyBCYXRjaCBpbnNlcnQKCldoZW4gdXNpbmcgdGhlIHF1 ZXVlIGZvciBiYXRjaCBwcm9jZXNzaW5nLCBpdCB3b3VsZCBiZSBnb29kIHRvIGJlIGFibGUgdG8g cHVzaCBtdWx0aXBsZSBlbGVtZW50cyBhdCBvbmNlOgoKQ3VycmVudGx5IHlvdSBoYXZlIHRvIGNh bGwgYHB1c2hgIHJlcGVhdGVkbHkKCmBgYHJ1YnkKaXRlbXMuZWFjaCBkbyB8aXRlbXwKICBxdWV1 ZS5wdXNoKGl0ZW0pCmVuZApgYGAKClRoYXQncyB3YXN0ZWZ1bCBiZWNhdXNlIG9uIGVhY2ggY2Fs bCB3ZSBjaGVjayB3ZXRoZXIgdGhlIHF1ZXVlIGlzIGNsb3NlZCwgdHJ5IHRvIHdha2V1cCBibG9j a2VkIHRocmVhZHMsIGV0Yy4KCkl0IHdvdWxkIGJlIG11Y2ggYmV0dGVyIGlmIHlvdSBjb3VsZCBk bzoKCmBgYHJ1YnkKcXVldWUuY29uY2F0KGl0ZW1zKQpgYGAKCldpdGggb2YgY291cnNlIGJvdGgg YG5vbmJsb2NrYCBhbmQgYHRpbWVvdXRgIHN1cHBvcnQuCgpUaGVuIHRoZXJlJ3MgdGhlIHF1ZXN0 aW9uIG9mIGhvdyBgU2l6ZWRRdWV1ZWAgd291bGQgYmVoYXZlIGlmIGl0J3Mgbm90IGZ1bGwsIGJ1 dCBzdGlsbCBkb2Vzbid0IGhhdmUgc3BhY2UgZm9yIGFsbCB0aGUgZWxlbWVudHMuIGUuZy4KYGBg cnVieQpxdWV1ZSA9IFNpemVkUXVldWUubmV3KDEwKQpxdWV1ZS5jb25jYXQoNi50aW1lcy50b19h KQpxdWV1ZS5jb25jYXQoNi50aW1lcy50b19hKSAjIEJsb2NrIHVudGlsIHRoZXJlIGlzIDYgZnJl ZSBzbG90cz8KYGBgCgpJIHRoaW5rIHRoZSBzaW1wbGVzdCB3b3VsZCBiZSB0byB3YWl0IGZvciBl bm91Z2ggc3BhY2UgdG8gYXBwZW5kIHRoZSBlbnRpcmUgc2V0LCBiZWNhdXNlIGNvbWJpbmVkIHdp dGggYSB0aW1lb3V0LCBpdCB3b3VsZCBiZSBhd2t3YXJkIGlmIG9ubHkgcGFydCBvZiB0aGUgYXJy YXkgd2FzIGNvbmNhdGVuYXRlZC4KCgojIyMgQmF0Y2ggcG9wCgpTaW1pbGFybHksIHNvbWV0aW1l cyB0aGUgY29uc3VtZXIgb2YgYSBxdWV1ZSBpcyBjYXBhYmxlIG9mIGJhdGNoaW5nLCBhbmQgcmln aHQgbm93IGl0J3Mgbm90IGVmZmljaWVudDoKCgpgYGBydWJ5Cmxvb3AgZG8KICBpdGVtcyA9IFtx dWV1ZS5wb3BdCiAgYmVnaW4KICAgIDk5LnRpbWVzIGRvCiAgICAgIGl0ZW1zIDw8IHF1ZXVlLnBv cCh0cnVlKSAjIHRydWUgaXMgZm9yIG5vbmJsb2NrCiAgICBlbmQKICByZXNjdWUgVGhyZWFkRXJy b3IgIyBlbXB0eSBxdWV1ZQogIGVuZAogIHByb2Nlc3NfaXRlbXMoaXRlbXMpCmVuZApgYGAKCkl0 IHdvdWxkIGJlIG11Y2ggbW9yZSBlZmZpY2llbnQgaWYgYHBvcGAgYWNjZXB0ZWQgYSBgY291bnRg IHBhcmFtZXRlcjoKCmBgYHJ1YnkKbG9vcCBkbwogIGl0ZW1zID0gcXVldWUucG9wKGNvdW50OiAx MDApCiAgcHJvY2Vzc19pdGVtcyhpdGVtcykKZW5kCmBgYAoKVGhlIGJlaGF2aW9yIHdvdWxkIGJl OgogIC0gQmxvY2sgaWYgdGhlIHF1ZXVlIGlzIGVtcHR5CiAgLSBJZiBpdCdzIG5vdCBlbXB0eSwg cmV0dXJuICoqdXAgdG8qKiBgY291bnRgIGl0ZW1zIChKdXN0IGxpa2UgYEFycmF5I3BvcGApCgoK IyMjIE5vbiBibG9ja2luZyBtb2RlLCB3aXRob3V0IGV4Y2VwdGlvbgoKQXMgc2hvd24gYWJvdmUs IHRoZSBjdXJyZW50IGBub25ibG9ja2AgcGFyYW1ldGVyIGlzIGEgYml0IGF3a3dhcmQsIGJlY2F1 c2U6CgogIC0gSXQgcmFpc2VzIGFuIGV4Y2VwdGlvbiwgd2hpY2ggaXMgdmVyeSBleHBlbnNpdmUg Zm9yIGEgY29uc3RydWN0IG9mdGVuIHVzZWQgaW4gImxvdyBsZXZlbCIgY29kZS4KICAtIFRoZSBl eGNlcHRpb24gaXMgYFRocmVhZEVycm9yYCwgc28geW91IG1heSBoYXZlIHRvIG1hdGNoIHRoZSBl cnJvciBtZXNzYWdlIGZvciBgInF1ZXVlIGVtcHR5ImAsIHRvIG1ha2Ugc3VyZSBpdCBkb2Vzbid0 IGNvbWUgZnJvbSBhIE11dGV4IGlzc3VlIG9yIHNvbWV0aGluZyBsaWtlIHRoYXQuCgoKSSBiZWxp ZXZlIHRoYXQgd2UgY291bGQgaW50cm9kdWNlIGEga2V5d29yZCBhcmd1bWVudDoKCmBgYHJ1YnkK UXVldWUubmV3LnBvcChub25ibG9jazogdHJ1ZSkgIyA9PiBuaWwKYGBgCgoKCgotLSAKaHR0cHM6 Ly9idWdzLnJ1YnktbGFuZy5vcmcvCgpVbnN1YnNjcmliZTogPG1haWx0bzpydWJ5LWNvcmUtcmVx dWVzdEBydWJ5LWxhbmcub3JnP3N1YmplY3Q9dW5zdWJzY3JpYmU+CjxodHRwOi8vbGlzdHMucnVi eS1sYW5nLm9yZy9jZ2ktYmluL21haWxtYW4vb3B0aW9ucy9ydWJ5LWNvcmU+Cg==