[#105450] [Ruby master Feature#18228] Add a `timeout` option to `IO.copy_stream` — "byroot (Jean Boussier)" <noreply@...>
SXNzdWUgIzE4MjI4IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGJ5cm9vdCAoSmVhbiBCb3Vzc2llciku
11 messages
2021/09/27
[ruby-core:105464] [Ruby master Feature#18228] Add a `timeout` option to `IO.copy_stream`
From:
"byroot (Jean Boussier)" <noreply@...>
Date:
2021-09-28 10:17:21 UTC
List:
ruby-core #105464
SXNzdWUgIzE4MjI4IGhhcyBiZWVuIHVwZGF0ZWQgYnkgYnlyb290IChKZWFuIEJvdXNzaWVyKS4K Cgo+IEl0J3Mgd2hhdCBSdWJ5IGFscmVhZHkgdXNlcyB0byBpbnRlcnJ1cHQgYmxvY2tpbmcgc3lz dGVtIGNhbGxzIGZvciBSdWJ5IGludGVycnVwdHMgbGlrZSBzaWduYWxzLCBUaHJlYWQjcmFpc2Us IGV0YwoKVGhhbmtzIGZvciB0aGUgcG9pbnRlcnMsIEknbGwgaGF2ZSBhIGxvb2suCgotLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkZlYXR1cmUgIzE4MjI4OiBBZGQgYSBg dGltZW91dGAgb3B0aW9uIHRvIGBJTy5jb3B5X3N0cmVhbWAKaHR0cHM6Ly9idWdzLnJ1YnktbGFu Zy5vcmcvaXNzdWVzLzE4MjI4I2NoYW5nZS05MzkxNAoKKiBBdXRob3I6IGJ5cm9vdCAoSmVhbiBC b3Vzc2llcikKKiBTdGF0dXM6IE9wZW4KKiBQcmlvcml0eTogTm9ybWFsCi0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyMjIENvbnRleHQKCkluIG1hbnkgc2l0dWF0aW9u cyBkZWFsaW5nIHdpdGggbGFyZ2UgZmlsZXMsIGBJTy5jb3B5X3N0cmVhbWAgd2hlbiB1c2FibGUg YnJpbmcgbWFqb3IgcGVyZm9ybWFuY2UgZ2FpbnMgKG9mdGVuIHR3aWNlIGZhc3RlciBhdCB0aGUg dmVyeSBsZWFzdCkuIEFuZCBtb3JlIGltcG9ydGFudGx5LCB3aGVuIHRoZSBjb3B5aW5nIGlzIGRl ZmVycmVkIHRvIHRoZSBrZXJuZWwsIHRoZSBwZXJmb3JtYW5jZSBpcyBtdWNoIG1vcmUgY29uc2lz dGVudCBhcyBpdCBpcyBsZXNzIGltcGFjdGVkIGJ5IHRoZSBDUFUgdXRpbGl6YXRpb24gb24gdGhl IG1hY2hpbmUuCgpIb3dldmVyLCBpdCBpcyBvZnRlbiB1bnNhZmUgdG8gdXNlIGJlY2F1c2UgaXQg ZG9lc24ndCBoYXZlIGEgdGltZW91dCwgc28geW91IGNhbiBvbmx5IHVzZSBpdCBpZiBib3RoIHRo ZSBzb3VyY2UgYW5kIGRlc3RpbmF0aW9uIElPcyBhcmUgdHJ1c3RlZCwgb3RoZXJ3aXNlIGl0IGlz IHRyaXZpYWwgZm9yIGFuIGF0dGFja2VyIHRvIERPUyB0aGUgc2VydmljZSBieSByZWFkaW5nIHRo ZSByZXNwb25zZSB2ZXJ5IHNsb3dseS4KCiMjIyBTb21lIGV4YW1wbGVzCgotIEl0IGlzIFt1c2Vk IGJ5IGB3ZWJyaWNrYF0oaHR0cHM6Ly9naXRodWIuY29tL3J1Ynkvd2Vicmljay9jb21taXQvNTRi ZTY4NGRhOWQ5OTNhZDZjMjM3ZTJlOTg1M2ViOThiY2JhYWU2ZSkuCi0gYE5ldDo6SFRUUGAgdXNl cyBpdCB0byBzZW5kIHJlcXVlc3QgYm9keSBpZiB0aGV5IGFyZSBJT3MsIGJ1dCBbaXQgaXMgdXNl ZCB3aXRoIGEgImZha2UgSU8iIHRvIGFsbG93IGZvciB0aW1lb3V0c10oaHR0cHM6Ly9naXRodWIu Y29tL3J1YnkvbmV0LWh0dHAvcHVsbC8yNyksIHNvIGBzZW5kZmlsZSgyKWAgJmNvIGFyZSBuZXZl ciB1c2VkLgotIFtBIHByb29mIG9mIGNvbmNlcHQgb2YgaW50ZWdyYXRpbmcgaW4gcHVtYSBzaG93 cyBhIDJ4IHNwZWVkdXBdKGh0dHBzOi8vZ2l0aHViLmNvbS9wdW1hL3B1bWEvcHVsbC8yNzAzKS4g Ci0gW1ZhcmlvdXMgb3RoZXIgSFRUUCBjbGllbnQgY291bGQgdXNlIGl0IGFzIHdlbGxdKGh0dHBz Oi8vZ2l0aHViLmNvbS9uYWhpL2h0dHBjbGllbnQvcHVsbC8zODMpLgotIEkgdXNlZCBpdCBpbiBw cml2YXRlIHByb2plY3RzIHRvIGRvd25sb2FkIGFuZCB1cGxvYWQgbGFyZ2UgYXJjaGl2ZXMgaW4g YW5kIG91dCBvZiBHb29nbGUgQ2xvdWQgU3RvcmFnZSB3aXRoIGdyZWF0IGVmZmVjdHMuCgojIyMg UG9zc2libGUgaW1wbGVtZW50YXRpb24KClRoZSBtYWluIGRpZmZpY3VsdHkgaXMgdGhhdCB0aGUg dW5kZXJseWluZyBzeWNhbGxzIGRvbid0IGhhdmUgYSB0aW1lb3V0IGVpdGhlci4KClRoZSBtYWlu IHN5c2NhbGwgdXNlZCBpbiB0aGVzZSBzY2VuYXJpb3MgaXMgYHNlbmRmaWxlKDIpYC4gSXQgZG9l c24ndCBoYXZlIGEgdGltZW91dCBwYXJhbWV0ZXIsIGhvd2V2ZXIgaWYgY2FsbGVkIG9uIGZpbGUg ZGVzY3JpcHRvcnMgd2l0aCBgT19OT05CTE9DS2AgaXQgZG9lcyByZXR1cm4gZWFybHkgYW5kIGFs bG93IGZvciBhIGBzZWxlY3QvcG9sbGAgbG9vcC4gSSBkaWQgYSB2ZXJ5IHF1aWNrIGFuZCBkaXJ0 eSBleHBlcmltZW50IHdpdGggdGhpcywgYW5kIGl0IGRvZXMgc2VlbSB0byB3b3JrLgoKVGhlIG90 aGVyIHR3byBhY2NlbGVyYXRpbmcgc3lzY2FsbHMgYXJlIFtgY29weV9maWxlX3JhbmdlKDIpYF0o aHR0cHM6Ly9tYW43Lm9yZy9saW51eC9tYW4tcGFnZXMvbWFuMi9jb3B5X2ZpbGVfcmFuZ2UuMi5o dG1sKSAobGludXgpIGFuZCBbYGZjb3B5ZmlsZSgyKWBdKGh0dHBzOi8vZGV2ZWxvcGVyLmFwcGxl LmNvbS9saWJyYXJ5L2FyY2hpdmUvZG9jdW1lbnRhdGlvbi9TeXN0ZW0vQ29uY2VwdHVhbC9NYW5Q YWdlc19pUGhvbmVPUy9tYW4zL2Zjb3B5ZmlsZS4zLmh0bWwpIChtYWNPUykuIE5laXRoZXIgaGF2 ZSBhIHRpbWVvdXQsIGFuZCBuZWl0aGVyIG1hbnBhZ2UgZG9jdW1lbnQgYW4gYEVBR0FJTiAvIEVX T1VMREJMT0NLYCBlcnJvci4gSG93ZXZlciB0aGVzZSBzeXNjYWxscyBhcmUgbGltaXRlZCB0byBy ZWFsIGZpbGUgY29waWVzLCBnZW5lcmFsbHkgc3BlYWtpbmcgdGltZW91dHMgZm9yIHJlYWwgZmls ZXMgYXJlIGxlc3Mgb2YgYSBjcml0aWNhbCBuZWVkLCBzbyBpdCB3b3VsZCBiZSBwb3NzaWJsZSB0 byBzaW1wbHkgbm90IHVzZSB0aGVzZSBzeXNjYWxscyBpZiBhIHRpbWVvdXQgaXMgcHJvdmlkZWQu CgojIyMgSW50ZXJmYWNlCgpgY29weV9zdHJlYW0oc3JjLCBkc3QsIGNvcHlfbGVuZ3RoLCBzcmNf b2Zmc2V0LCB0aW1lb3V0KWAKb3IgYGNvcHlfc3RyZWFtKHNyYywgZHN0LCBjb3B5X2xlbmd0aCwg c3JjX29mZnNldCwgdGltZW91dDogbmlsKWAKCkFzIGZvciB0aGUgcmV0dXJuIHZhbHVlIGluIGNh c2Ugb2YgYSB0aW1lb3V0LCBpdCBpcyBpbXBvcnRhbnQgdG8gY29udmV5IGJvdGggdGhhdCBhIHRp bWVvdXQgaGFwcGVuZWQsIGFuZCB0aGUgbnVtYmVyIG9mIGJ5dGVzIHRoYXQgd2VyZSBjb3BpZWQs IG90aGVyd2lzZSBpdCBtYWtlcyByZXRyaWVzIGltcG9zc2libGUuCgotIEl0IGNvdWxkIHNpbXBs eSByZXR1cm5zIHRoZSBudW1iZXIgb2YgYnl0ZSwgYW5kIGxldCB0aGUgY2FsbGVyIGNvbXBhcmUg aXQgdG8gdGhlIGV4cGVjdGVkIG51bWJlciBvZiBieXRlcyBjb3BpZWQsIGJ1dCB0aGF0IHdvdWxk bid0IHdvcmsgaW4gY2FzZXMgd2hlcmUgdGhlIHNpemUgb2YgYHNyY2AgaXNuJ3Qga25vd24uCi0g SXQgY291bGQgcmV0dXJuIGAtMSAtIGJ5dGVzX2NvcGllZGAsIG5vdCBwYXJ0aWN1bGFybHkgZWxl Z2FudCBidXQgd291bGQgd29yay4KLSBJdCBjb3VsZCByZXR1cm4gbXVsdGlwbGUgdmFsdWVzIG9y IHNvbWUga2luZCBvZiByZXN1bHQgb2JqZWN0IHdoZW4gYSB0aW1lb3V0IGlzIHByb3ZpZGVkLgot IEl0IGNvdWxkIHJhaXNlIGFuIGVycm9yLCB3aXRoIGBieXRlc19jb3BpZWRgIGFzIGFuIGF0dHJp YnV0ZSBvbiB0aGUgZXJyb3IuCgpPciBhbHRlcm5hdGl2ZWx5IGBjb3B5X3N0cmVhbWAgd291bGQg YmUgbGVmdCB3aXRob3V0IGEgdGltZW91dCwgYW5kIHNvbWUga2luZCBvZiBgY29weV9zdHJlYW0y YCB3b3VsZCBiZSBpbnRyb2R1Y2VkIHNvIHRoYXQgYGNvcHlfc3RyZWFtYCByZXR1cm4gdmFsdWUg d291bGRuJ3QgYmUgbWFkZSBpbmNvbnNpc3RlbnQuCgoKCgoKCi0tIApodHRwczovL2J1Z3MucnVi eS1sYW5nLm9yZy8KClVuc3Vic2NyaWJlOiA8bWFpbHRvOnJ1YnktY29yZS1yZXF1ZXN0QHJ1Ynkt bGFuZy5vcmc/c3ViamVjdD11bnN1YnNjcmliZT4KPGh0dHA6Ly9saXN0cy5ydWJ5LWxhbmcub3Jn L2NnaS1iaW4vbWFpbG1hbi9vcHRpb25zL3J1YnktY29yZT4K