[ruby-core:110032] [Ruby master Feature#18630] Introduce general `IO#timeout` and `IO#timeout=` for blocking operations.
From:
"ioquatix (Samuel Williams)" <noreply@...>
Date:
2022-09-23 06:35:00 UTC
List:
ruby-core #110032
SXNzdWUgIzE4NjMwIGhhcyBiZWVuIHVwZGF0ZWQgYnkgaW9xdWF0aXggKFNhbXVlbCBXaWxsaWFt cykuCgoKQG1hdHogQG5hcnVzZSBkbyB5b3UgYWdyZWUgd2l0aCB0aGUgY3VycmVudCBQUj8KCmBg YApUaW1lb3V0RXJyb3IgPCBTdGFuZGFyZEVycm9yCklPOjpUaW1lb3V0RXJyb3IgPCBUaW1lb3V0 RXJyb3IKYGBgCgpPciBkbyB5b3UgdGhpbmsgaXQgbWFrZXMgbW9yZSBzZW5zZToKCmBgYAptb2R1 bGUgVGltZW91dEVycm9yCmVuZAoKY2xhc3MgSU86OlRpbWVvdXRFcnJvciA8IElPRXJyb3IKICBp bmNsdWRlIFRpbWVvdXRFcnJvcgplbmQKCmNsYXNzIFJlZ2V4cDo6VGltZW91dEVycm9yIDwgUmVn ZXhwRXJyb3IKICBpbmNsdWRlIFRpbWVvdXRFcnJvcgplbmQKYGBgCgphbmQgc28gb24uCgoKLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpGZWF0dXJlICMxODYzMDogSW50 cm9kdWNlIGdlbmVyYWwgYElPI3RpbWVvdXRgIGFuZCBgSU8jdGltZW91dD1gIGZvciBibG9ja2lu ZyBvcGVyYXRpb25zLgpodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMvMTg2MzAjY2hh bmdlLTk5MjgzCgoqIEF1dGhvcjogaW9xdWF0aXggKFNhbXVlbCBXaWxsaWFtcykKKiBTdGF0dXM6 IE9wZW4KKiBQcmlvcml0eTogTm9ybWFsCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KSSB3b3VsZCBsaWtlIHVzIHRvIGNvbnNpZGVyIGludHJvZHVjaW5nIGEgZ2VuZXJh bCBJTyB0aW1lb3V0IGZvciBhbGwgKG5vbi0pYmxvY2tpbmcgb3BlcmF0aW9ucywgc3BlY2lmaWVk IHBlci1JTyBpbnN0YW5jZS4gSXQncyB1c2VmdWwgZm9yIGVuc3VyaW5nIHByb2dyYW1zIGRvbid0 IHN0b3AgcmVzcG9uZGluZyBvciBzcGVuZCBhbiB1bnJlYXNvbmFibGUgYW1vdW50IG9mIHRpbWUg d2FpdGluZyBmb3IgSU8gb3BlcmF0aW9ucy4KClRoZXJlIGFyZSBlZmZlY3RpdmVseSB0d28ga2lu ZHMgb2YgaW50ZXJmYWNlcyB0aGF0IHdlIG5lZWQgdG8gYWRkcmVzczoKCi0gVGhvc2UgdGhhdCBh bHJlYWR5IGhhdmUgYSB0aW1lb3V0IGFyZ3VtZW50IChlLmcuIGB3YWl0X3JlYWRhYmxlYCkgYW5k IHdlIGZvbGxvdyB0aGUgZXhpc3Rpbmcgc2VtYW50aWNzLgotIFRob3NlIHRoYXQgZG9uJ3QgaGF2 ZSBhIHRpbWVvdXQgYXJndW1lbnQgb3IgdGltZW91dCBzZW1hbnRpY3MgKGUuZy4gYHB1dHNgLCBg Z2V0c2ApLCBhbmQgdGh1cyBwcm9iYWJseSBuZWVkIHRvIHJhaXNlIGFuIGV4Y2VwdGlvbiBvbiB0 aW1lb3V0LgoKV2UgaGF2ZSB0aHJlZSBwb3NzaWJsZSBraW5kcyBvZiBleGNlcHRpb25zIHdlIGNv dWxkIHJhaXNlOgoKLSBgRXJybm86OkVUSU1FRE9VVGAKLSBgVGltZW91dDo6RXJyb3JgIChmcm9t IGB0aW1lb3V0LnJiYCkKLSBJbnRyb2R1Y2UgYElPOjpUaW1lb3V0YCBvciBzb21ldGhpbmcgc2lt aWxhci4KClRpbWVvdXQgaXNuJ3QgbmVjZXNzYXJpbHkgYW4gZXJyb3IgY29uZGl0aW9uLiBUaGVy ZSBhcmUgZGlmZmVyZW50IGFyZ3VtZW50cyBmb3Igd2hldGhlciB3ZSBzaG91bGQgZGVmaW5lOgoK YGBgcnVieQpjbGFzcyBJTzo6VGltZW91dCA8IEV4Y2VwdGlvbgplbmQKCiMgb3IKCmNsYXNzIElP OjpUaW1lb3V0IDwgU3RhbmRhcmRFcnJvcgplbmQKYGBgCgpJIGJlbGlldmUgdGhlIGxhdHRlciAo YFN0YW5kYXJkRXJyb3JgKSBpcyBtb3JlIHByYWN0aWNhbCBidXQgSSdtIG9wZW4gdG8gZWl0aGVy IG9wdGlvbi4gSSBtaWdodCBoYXZlIG1vcmUgc3BlY2lmaWMgYXJndW1lbnRzIGxhdGVyIHdoeSBv bmUgaXMgYmV0dGVyIHRoYW4gdGhlIG90aGVyIGFmdGVyIHRlc3RpbmcgaW4gYSBwcmFjdGljYWwg c3lzdGVtLgoKVGhlcmUgaXMgYWxyZWFkeSBhIFBSIHRvIHRyeSBpdCBvdXQ6IGh0dHBzOi8vZ2l0 aHViLmNvbS9ydWJ5L3J1YnkvcHVsbC81NjUzCgoKCi0tIApodHRwczovL2J1Z3MucnVieS1sYW5n Lm9yZy8KClVuc3Vic2NyaWJlOiA8bWFpbHRvOnJ1YnktY29yZS1yZXF1ZXN0QHJ1YnktbGFuZy5v cmc/c3ViamVjdD11bnN1YnNjcmliZT4KPGh0dHA6Ly9saXN0cy5ydWJ5LWxhbmcub3JnL2NnaS1i aW4vbWFpbG1hbi9vcHRpb25zL3J1YnktY29yZT4K