[#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:105451] [Ruby master Feature#18228] Add a `timeout` option to `IO.copy_stream`
From:
"Eregon (Benoit Daloze)" <noreply@...>
Date:
2021-09-27 16:57:44 UTC
List:
ruby-core #105451
SXNzdWUgIzE4MjI4IGhhcyBiZWVuIHVwZGF0ZWQgYnkgRXJlZ29uIChCZW5vaXQgRGFsb3plKS4K CgpJIHdvbmRlciwgY2FuIGBzZW5kZmlsZSgyKWAgYmUgaW50ZXJydXB0ZWQgYnkgYSBzaWduYWwg bGlrZSBTSUdWVEFMUk0gbGlrZSBmb3IgcmVhZC93cml0ZT8KVGhhdCBtaWdodCBiZSBhbm90aGVy IHN0cmF0ZWd5IHRvIGltcGxlbWVudCBhIHRpbWVvdXQgZm9yIGl0LgoKLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpGZWF0dXJlICMxODIyODogQWRkIGEgYHRpbWVvdXRg IG9wdGlvbiB0byBgSU8uY29weV9zdHJlYW1gCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnL2lz c3Vlcy8xODIyOCNjaGFuZ2UtOTM5MDIKCiogQXV0aG9yOiBieXJvb3QgKEplYW4gQm91c3NpZXIp CiogU3RhdHVzOiBPcGVuCiogUHJpb3JpdHk6IE5vcm1hbAotLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCiMjIyBDb250ZXh0CgpJbiBtYW55IHNpdHVhdGlvbnMgZGVhbGlu ZyB3aXRoIGxhcmdlIGZpbGVzLCBgSU8uY29weV9zdHJlYW1gIHdoZW4gdXNhYmxlIGJyaW5nIG1h am9yIHBlcmZvcm1hbmNlIGdhaW5zIChvZnRlbiB0d2ljZSBmYXN0ZXIgYXQgdGhlIHZlcnkgbGVh c3QpLiBBbmQgbW9yZSBpbXBvcnRhbnRseSwgd2hlbiB0aGUgY29weWluZyBpcyBkZWZlcnJlZCB0 byB0aGUga2VybmVsLCB0aGUgcGVyZm9ybWFuY2UgaXMgbXVjaCBtb3JlIGNvbnNpc3RlbnQgYXMg aXQgaXMgbGVzcyBpbXBhY3RlZCBieSB0aGUgQ1BVIHV0aWxpemF0aW9uIG9uIHRoZSBtYWNoaW5l LgoKSG93ZXZlciwgaXQgaXMgb2Z0ZW4gdW5zYWZlIHRvIHVzZSBiZWNhdXNlIGl0IGRvZXNuJ3Qg aGF2ZSBhIHRpbWVvdXQsIHNvIHlvdSBjYW4gb25seSB1c2UgaXQgaWYgYm90aCB0aGUgc291cmNl IGFuZCBkZXN0aW5hdGlvbiBJT3MgYXJlIHRydXN0ZWQsIG90aGVyd2lzZSBpdCBpcyB0cml2aWFs IGZvciBhbiBhdHRhY2tlciB0byBET1MgdGhlIHNlcnZpY2UgYnkgcmVhZGluZyB0aGUgcmVzcG9u c2UgdmVyeSBzbG93bHkuCgojIyMgU29tZSBleGFtcGxlcwoKLSBJdCBpcyBbdXNlZCBieSBgd2Vi cmlja2BdKGh0dHBzOi8vZ2l0aHViLmNvbS9ydWJ5L3dlYnJpY2svY29tbWl0LzU0YmU2ODRkYTlk OTkzYWQ2YzIzN2UyZTk4NTNlYjk4YmNiYWFlNmUpLgotIGBOZXQ6OkhUVFBgIHVzZXMgaXQgdG8g c2VuZCByZXF1ZXN0IGJvZHkgaWYgdGhleSBhcmUgSU9zLCBidXQgW2l0IGlzIHVzZWQgd2l0aCBh ICJmYWtlIElPIiB0byBhbGxvdyBmb3IgdGltZW91dHNdKGh0dHBzOi8vZ2l0aHViLmNvbS9ydWJ5 L25ldC1odHRwL3B1bGwvMjcpLCBzbyBgc2VuZGZpbGUoMilgICZjbyBhcmUgbmV2ZXIgdXNlZC4K LSBbQSBwcm9vZiBvZiBjb25jZXB0IG9mIGludGVncmF0aW5nIGluIHB1bWEgc2hvd3MgYSAyeCBz cGVlZHVwXShodHRwczovL2dpdGh1Yi5jb20vcHVtYS9wdW1hL3B1bGwvMjcwMykuIAotIFtWYXJp b3VzIG90aGVyIEhUVFAgY2xpZW50IGNvdWxkIHVzZSBpdCBhcyB3ZWxsXShodHRwczovL2dpdGh1 Yi5jb20vbmFoaS9odHRwY2xpZW50L3B1bGwvMzgzKS4KLSBJIHVzZWQgaXQgaW4gcHJpdmF0ZSBw cm9qZWN0cyB0byBkb3dubG9hZCBhbmQgdXBsb2FkIGxhcmdlIGFyY2hpdmVzIGluIGFuZCBvdXQg b2YgR29vZ2xlIENsb3VkIFN0b3JhZ2Ugd2l0aCBncmVhdCBlZmZlY3RzLgoKIyMjIFBvc3NpYmxl IGltcGxlbWVudGF0aW9uCgpUaGUgbWFpbiBkaWZmaWN1bHR5IGlzIHRoYXQgdGhlIHVuZGVybHlp bmcgc3ljYWxscyBkb24ndCBoYXZlIGEgdGltZW91dCBlaXRoZXIuCgpUaGUgbWFpbiBzeXNjYWxs IHVzZWQgaW4gdGhlc2Ugc2NlbmFyaW9zIGlzIGBzZW5kZmlsZSgyKWAuIEl0IGRvZXNuJ3QgaGF2 ZSBhIHRpbWVvdXQgcGFyYW1ldGVyLCBob3dldmVyIGlmIGNhbGxlZCBvbiBmaWxlIGRlc2NyaXB0 b3JzIHdpdGggYE9fTk9OQkxPQ0tgIGl0IGRvZXMgcmV0dXJuIGVhcmx5IGFuZCBhbGxvdyBmb3Ig YSBgc2VsZWN0L3BvbGxgIGxvb3AuIEkgZGlkIGEgdmVyeSBxdWljayBhbmQgZGlydHkgZXhwZXJp bWVudCB3aXRoIHRoaXMsIGFuZCBpdCBkb2VzIHNlZW0gdG8gd29yay4KClRoZSBvdGhlciB0d28g YWNjZWxlcmF0aW5nIHN5c2NhbGxzIGFyZSBbYGNvcHlfZmlsZV9yYW5nZSgyKWBdKGh0dHBzOi8v bWFuNy5vcmcvbGludXgvbWFuLXBhZ2VzL21hbjIvY29weV9maWxlX3JhbmdlLjIuaHRtbCkgKGxp bnV4KSBhbmQgW2BmY29weWZpbGUoMilgXShodHRwczovL2RldmVsb3Blci5hcHBsZS5jb20vbGli cmFyeS9hcmNoaXZlL2RvY3VtZW50YXRpb24vU3lzdGVtL0NvbmNlcHR1YWwvTWFuUGFnZXNfaVBo b25lT1MvbWFuMy9mY29weWZpbGUuMy5odG1sKSAobWFjT1MpLiBOZWl0aGVyIGhhdmUgYSB0aW1l b3V0LCBhbmQgbmVpdGhlciBtYW5wYWdlIGRvY3VtZW50IGFuIGBFQUdBSU4gLyBFV09VTERCTE9D S2AgZXJyb3IuIEhvd2V2ZXIgdGhlc2Ugc3lzY2FsbHMgYXJlIGxpbWl0ZWQgdG8gcmVhbCBmaWxl IGNvcGllcywgZ2VuZXJhbGx5IHNwZWFraW5nIHRpbWVvdXRzIGZvciByZWFsIGZpbGVzIGFyZSBs ZXNzIG9mIGEgY3JpdGljYWwgbmVlZCwgc28gaXQgd291bGQgYmUgcG9zc2libGUgdG8gc2ltcGx5 IG5vdCB1c2UgdGhlc2Ugc3lzY2FsbHMgaWYgYSB0aW1lb3V0IGlzIHByb3ZpZGVkLgoKIyMjIElu dGVyZmFjZQoKYGNvcHlfc3RyZWFtKHNyYywgZHN0LCBjb3B5X2xlbmd0aCwgc3JjX29mZnNldCwg dGltZW91dClgCm9yIGBjb3B5X3N0cmVhbShzcmMsIGRzdCwgY29weV9sZW5ndGgsIHNyY19vZmZz ZXQsIHRpbWVvdXQ6IG5pbClgCgpBcyBmb3IgdGhlIHJldHVybiB2YWx1ZSBpbiBjYXNlIG9mIGEg dGltZW91dCwgaXQgaXMgaW1wb3J0YW50IHRvIGNvbnZleSBib3RoIHRoYXQgYSB0aW1lb3V0IGhh cHBlbmVkLCBhbmQgdGhlIG51bWJlciBvZiBieXRlcyB0aGF0IHdlcmUgY29waWVkLCBvdGhlcndp c2UgaXQgbWFrZXMgcmV0cmllcyBpbXBvc3NpYmxlLgoKLSBJdCBjb3VsZCBzaW1wbHkgcmV0dXJu cyB0aGUgbnVtYmVyIG9mIGJ5dGUsIGFuZCBsZXQgdGhlIGNhbGxlciBjb21wYXJlIGl0IHRvIHRo ZSBleHBlY3RlZCBudW1iZXIgb2YgYnl0ZXMgY29waWVkLCBidXQgdGhhdCB3b3VsZG4ndCB3b3Jr IGluIGNhc2VzIHdoZXJlIHRoZSBzaXplIG9mIGBzcmNgIGlzbid0IGtub3duLgotIEl0IGNvdWxk IHJldHVybiBgLTEgLSBieXRlc19jb3BpZWRgLCBub3QgcGFydGljdWxhcmx5IGVsZWdhbnQgYnV0 IHdvdWxkIHdvcmsuCi0gSXQgY291bGQgcmV0dXJuIG11bHRpcGxlIHZhbHVlcyBvciBzb21lIGtp bmQgb2YgcmVzdWx0IG9iamVjdCB3aGVuIGEgdGltZW91dCBpcyBwcm92aWRlZC4KLSBJdCBjb3Vs ZCByYWlzZSBhbiBlcnJvciwgd2l0aCBgYnl0ZXNfY29waWVkYCBhcyBhbiBhdHRyaWJ1dGUgb24g dGhlIGVycm9yLgoKT3IgYWx0ZXJuYXRpdmVseSBgY29weV9zdHJlYW1gIHdvdWxkIGJlIGxlZnQg d2l0aG91dCBhIHRpbWVvdXQsIGFuZCBzb21lIGtpbmQgb2YgYGNvcHlfc3RyZWFtMmAgd291bGQg YmUgaW50cm9kdWNlZCBzbyB0aGF0IGBjb3B5X3N0cmVhbWAgcmV0dXJuIHZhbHVlIHdvdWxkbid0 IGJlIG1hZGUgaW5jb25zaXN0ZW50LgoKCgoKCgotLSAKaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5v cmcvCgpVbnN1YnNjcmliZTogPG1haWx0bzpydWJ5LWNvcmUtcmVxdWVzdEBydWJ5LWxhbmcub3Jn P3N1YmplY3Q9dW5zdWJzY3JpYmU+CjxodHRwOi8vbGlzdHMucnVieS1sYW5nLm9yZy9jZ2ktYmlu L21haWxtYW4vb3B0aW9ucy9ydWJ5LWNvcmU+Cg==