From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS4713 221.184.0.0/13 X-Spam-Status: No, score=-3.7 required=3.0 tests=AWL,BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,SPF_HELO_NONE, SPF_PASS,UNPARSEABLE_RELAY,URIBL_GREY shortcircuit=no autolearn=no autolearn_force=no version=3.4.2 Received: from neon.ruby-lang.org (neon.ruby-lang.org [221.186.184.75]) by dcvr.yhbt.net (Postfix) with ESMTP id 672181F8C8 for ; Mon, 27 Sep 2021 21:21:57 +0000 (UTC) Received: from neon.ruby-lang.org (localhost [IPv6:::1]) by neon.ruby-lang.org (Postfix) with ESMTP id D4956120B84; Tue, 28 Sep 2021 06:21:54 +0900 (JST) Authentication-Results: neon.ruby-lang.org; dkim=fail reason="verification failed; unprotected key" header.d=sendgrid.me header.i=@sendgrid.me header.b=uj5atogU; dkim-adsp=none (unprotected policy); dkim-atps=neutral Received: from xtrwkhkc.outbound-mail.sendgrid.net (xtrwkhkc.outbound-mail.sendgrid.net [167.89.16.28]) by neon.ruby-lang.org (Postfix) with ESMTPS id 991F9120B77 for ; Tue, 28 Sep 2021 06:21:52 +0900 (JST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sendgrid.me; h=from:references:subject:mime-version:content-type: content-transfer-encoding:list-id:to; s=smtpapi; bh=9kvQYyFnviYDWaOoNycMMFpzXf5xkVqYsTnsPylukf0=; b=uj5atogUlpnqedKkh0F/Uab8anXA0e71lfNWQ/ylJD6vXYWwOZhsjg7KUry+6GmbYPh4 TtimJTVgMIZ+XY1jR+d6QLM/apfyJZnH3oaKn1/U+THktD7iFbhNWxhHUTyfGST2JO5U23 exDU123cSnoM/I+AyLg/4xLRyoYiHmhyY= Received: by filterdrecv-7bf5c69d5-kwxgp with SMTP id filterdrecv-7bf5c69d5-kwxgp-1-615235EA-50 2021-09-27 21:21:47.009397081 +0000 UTC m=+2242909.139605477 Received: from herokuapp.com (unknown) by geopod-ismtpd-2-1 (SG) with ESMTP id mG65SjmxRB6LRZQoc7nk1A for ; Mon, 27 Sep 2021 21:21:46.858 +0000 (UTC) Date: Mon, 27 Sep 2021 21:21:47 +0000 (UTC) From: "byroot (Jean Boussier)" Message-ID: References: Mime-Version: 1.0 X-Redmine-Project: ruby-master X-Redmine-Issue-Tracker: Feature X-Redmine-Issue-Id: 18228 X-Redmine-Issue-Author: byroot X-Redmine-Sender: byroot X-Mailer: Redmine X-Redmine-Host: bugs.ruby-lang.org X-Redmine-Site: Ruby Issue Tracking System X-Auto-Response-Suppress: All Auto-Submitted: auto-generated X-Redmine-MailingListIntegration-Message-Ids: 81661 X-SG-EID: =?us-ascii?Q?Dq8GNIcVqP8cs5uR+EIAabfg3LE9XdC6dZ5KYNrMpf6VzBWG6HqArcu5raQjXL?= =?us-ascii?Q?IGTFdxKHUt7++67+KD54pNYXheirMcsUIf3sdgF?= =?us-ascii?Q?Riq06h6214wd8KIzHocykWI=2F3mVTDb5pkHy2=2FNG?= =?us-ascii?Q?nSr0Q3AjaPAw8StrbaJFY+ry+=2FTnsLPswRdHM2t?= =?us-ascii?Q?on3sjus5cyISTBcyIdRl9wPewTQuxnt9wCSfeuA?= =?us-ascii?Q?WEhQRNrtikvmEqgYWPz3i3pParVeiA+lIcS14z1?= =?us-ascii?Q?0iR9E2OND30EYCQ9WPlxA=3D=3D?= To: ruby-core@ruby-lang.org X-Entity-ID: b/2+PoftWZ6GuOu3b0IycA== X-ML-Name: ruby-core X-Mail-Count: 105454 Subject: [ruby-core:105454] [Ruby master Feature#18228] Add a `timeout` option to `IO.copy_stream` X-BeenThere: ruby-core@ruby-lang.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Ruby developers List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Reply-To: Ruby developers Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ruby-core-bounces@ruby-lang.org Sender: "ruby-core" SXNzdWUgIzE4MjI4IGhhcyBiZWVuIHVwZGF0ZWQgYnkgYnlyb290IChKZWFuIEJvdXNzaWVyKS4K Cgo+IEkgd29uZGVyLCBjYW4gc2VuZGZpbGUoMikgYmUgaW50ZXJydXB0ZWQgYnkgYSBzaWduYWwg bGlrZSBTSUdWVEFMUk0gbGlrZSBmb3IgcmVhZC93cml0ZT8KCkkgdGhpbmsgaXQgY2FuPyBCdXQg ZnJvbSBteSBpbml0aWFsIHJlc2VhcmNoIEkgd2FzIHVuZGVyIHRoZSBpbXByZXNzaW9uIHRoYXQg dXNpbmcgQUxBUk0gdG8gaW50ZXJydXB0IHN5c3RlbSBjYWxscyB3YXMgYSBiaXQgZnJvd25lZCB1 cG9uIGFuZCB0aGF0IGBwb2xsL3NlbGVjdGAgd2FzIGdlbmVyYWxseSByZWdhcmRlZCBhcyBwcmVm ZXJhYmxlLgoKPiBzZW5kZmlsZSBpcyBsZXNzIGZsZXhpYmxlIGFuZCB5b3Ugc2hvdWxkIGdlbmVy YWxseSBhdm9pZCBpdC4gVGhlIG1vZGVybiBzeXNjYWxsIGlzIHNwbGljZQoKSW5kZWVkLiBgSU8u Y29weV9zdHJlYW1gIGNvdWxkIHVzZSBzb21lIG1vcmUgbW9kZXJuIHN5c2NhbGxzIGxpa2UgYHNw bGljZWAgYW5kIGBpb191cmluZ2AuIEJ1dCBgc2VuZGZpbGUoMilgIGhhcyB0aGUgYWR2YW50YWdl IHRvIGJlIHJlbGF0aXZlbHkgcG9ydGFibGUgKG9sZGVyIGxpbnV4LCBtYWNPUywgZnJlZUJTRCwg ZXRjKS4gCgpTbyB0byBtZSB0aGlzIGlzIGEgYml0IG9ydGhvZ29uYWwuCgotLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkZlYXR1cmUgIzE4MjI4OiBBZGQgYSBgdGltZW91 dGAgb3B0aW9uIHRvIGBJTy5jb3B5X3N0cmVhbWAKaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcv aXNzdWVzLzE4MjI4I2NoYW5nZS05MzkwNAoKKiBBdXRob3I6IGJ5cm9vdCAoSmVhbiBCb3Vzc2ll cikKKiBTdGF0dXM6IE9wZW4KKiBQcmlvcml0eTogTm9ybWFsCi0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KIyMjIENvbnRleHQKCkluIG1hbnkgc2l0dWF0aW9ucyBkZWFs aW5nIHdpdGggbGFyZ2UgZmlsZXMsIGBJTy5jb3B5X3N0cmVhbWAgd2hlbiB1c2FibGUgYnJpbmcg bWFqb3IgcGVyZm9ybWFuY2UgZ2FpbnMgKG9mdGVuIHR3aWNlIGZhc3RlciBhdCB0aGUgdmVyeSBs ZWFzdCkuIEFuZCBtb3JlIGltcG9ydGFudGx5LCB3aGVuIHRoZSBjb3B5aW5nIGlzIGRlZmVycmVk IHRvIHRoZSBrZXJuZWwsIHRoZSBwZXJmb3JtYW5jZSBpcyBtdWNoIG1vcmUgY29uc2lzdGVudCBh cyBpdCBpcyBsZXNzIGltcGFjdGVkIGJ5IHRoZSBDUFUgdXRpbGl6YXRpb24gb24gdGhlIG1hY2hp bmUuCgpIb3dldmVyLCBpdCBpcyBvZnRlbiB1bnNhZmUgdG8gdXNlIGJlY2F1c2UgaXQgZG9lc24n dCBoYXZlIGEgdGltZW91dCwgc28geW91IGNhbiBvbmx5IHVzZSBpdCBpZiBib3RoIHRoZSBzb3Vy Y2UgYW5kIGRlc3RpbmF0aW9uIElPcyBhcmUgdHJ1c3RlZCwgb3RoZXJ3aXNlIGl0IGlzIHRyaXZp YWwgZm9yIGFuIGF0dGFja2VyIHRvIERPUyB0aGUgc2VydmljZSBieSByZWFkaW5nIHRoZSByZXNw b25zZSB2ZXJ5IHNsb3dseS4KCiMjIyBTb21lIGV4YW1wbGVzCgotIEl0IGlzIFt1c2VkIGJ5IGB3 ZWJyaWNrYF0oaHR0cHM6Ly9naXRodWIuY29tL3J1Ynkvd2Vicmljay9jb21taXQvNTRiZTY4NGRh OWQ5OTNhZDZjMjM3ZTJlOTg1M2ViOThiY2JhYWU2ZSkuCi0gYE5ldDo6SFRUUGAgdXNlcyBpdCB0 byBzZW5kIHJlcXVlc3QgYm9keSBpZiB0aGV5IGFyZSBJT3MsIGJ1dCBbaXQgaXMgdXNlZCB3aXRo IGEgImZha2UgSU8iIHRvIGFsbG93IGZvciB0aW1lb3V0c10oaHR0cHM6Ly9naXRodWIuY29tL3J1 YnkvbmV0LWh0dHAvcHVsbC8yNyksIHNvIGBzZW5kZmlsZSgyKWAgJmNvIGFyZSBuZXZlciB1c2Vk LgotIFtBIHByb29mIG9mIGNvbmNlcHQgb2YgaW50ZWdyYXRpbmcgaW4gcHVtYSBzaG93cyBhIDJ4 IHNwZWVkdXBdKGh0dHBzOi8vZ2l0aHViLmNvbS9wdW1hL3B1bWEvcHVsbC8yNzAzKS4gCi0gW1Zh cmlvdXMgb3RoZXIgSFRUUCBjbGllbnQgY291bGQgdXNlIGl0IGFzIHdlbGxdKGh0dHBzOi8vZ2l0 aHViLmNvbS9uYWhpL2h0dHBjbGllbnQvcHVsbC8zODMpLgotIEkgdXNlZCBpdCBpbiBwcml2YXRl IHByb2plY3RzIHRvIGRvd25sb2FkIGFuZCB1cGxvYWQgbGFyZ2UgYXJjaGl2ZXMgaW4gYW5kIG91 dCBvZiBHb29nbGUgQ2xvdWQgU3RvcmFnZSB3aXRoIGdyZWF0IGVmZmVjdHMuCgojIyMgUG9zc2li bGUgaW1wbGVtZW50YXRpb24KClRoZSBtYWluIGRpZmZpY3VsdHkgaXMgdGhhdCB0aGUgdW5kZXJs eWluZyBzeWNhbGxzIGRvbid0IGhhdmUgYSB0aW1lb3V0IGVpdGhlci4KClRoZSBtYWluIHN5c2Nh bGwgdXNlZCBpbiB0aGVzZSBzY2VuYXJpb3MgaXMgYHNlbmRmaWxlKDIpYC4gSXQgZG9lc24ndCBo YXZlIGEgdGltZW91dCBwYXJhbWV0ZXIsIGhvd2V2ZXIgaWYgY2FsbGVkIG9uIGZpbGUgZGVzY3Jp cHRvcnMgd2l0aCBgT19OT05CTE9DS2AgaXQgZG9lcyByZXR1cm4gZWFybHkgYW5kIGFsbG93IGZv ciBhIGBzZWxlY3QvcG9sbGAgbG9vcC4gSSBkaWQgYSB2ZXJ5IHF1aWNrIGFuZCBkaXJ0eSBleHBl cmltZW50IHdpdGggdGhpcywgYW5kIGl0IGRvZXMgc2VlbSB0byB3b3JrLgoKVGhlIG90aGVyIHR3 byBhY2NlbGVyYXRpbmcgc3lzY2FsbHMgYXJlIFtgY29weV9maWxlX3JhbmdlKDIpYF0oaHR0cHM6 Ly9tYW43Lm9yZy9saW51eC9tYW4tcGFnZXMvbWFuMi9jb3B5X2ZpbGVfcmFuZ2UuMi5odG1sKSAo bGludXgpIGFuZCBbYGZjb3B5ZmlsZSgyKWBdKGh0dHBzOi8vZGV2ZWxvcGVyLmFwcGxlLmNvbS9s aWJyYXJ5L2FyY2hpdmUvZG9jdW1lbnRhdGlvbi9TeXN0ZW0vQ29uY2VwdHVhbC9NYW5QYWdlc19p UGhvbmVPUy9tYW4zL2Zjb3B5ZmlsZS4zLmh0bWwpIChtYWNPUykuIE5laXRoZXIgaGF2ZSBhIHRp bWVvdXQsIGFuZCBuZWl0aGVyIG1hbnBhZ2UgZG9jdW1lbnQgYW4gYEVBR0FJTiAvIEVXT1VMREJM T0NLYCBlcnJvci4gSG93ZXZlciB0aGVzZSBzeXNjYWxscyBhcmUgbGltaXRlZCB0byByZWFsIGZp bGUgY29waWVzLCBnZW5lcmFsbHkgc3BlYWtpbmcgdGltZW91dHMgZm9yIHJlYWwgZmlsZXMgYXJl IGxlc3Mgb2YgYSBjcml0aWNhbCBuZWVkLCBzbyBpdCB3b3VsZCBiZSBwb3NzaWJsZSB0byBzaW1w bHkgbm90IHVzZSB0aGVzZSBzeXNjYWxscyBpZiBhIHRpbWVvdXQgaXMgcHJvdmlkZWQuCgojIyMg SW50ZXJmYWNlCgpgY29weV9zdHJlYW0oc3JjLCBkc3QsIGNvcHlfbGVuZ3RoLCBzcmNfb2Zmc2V0 LCB0aW1lb3V0KWAKb3IgYGNvcHlfc3RyZWFtKHNyYywgZHN0LCBjb3B5X2xlbmd0aCwgc3JjX29m ZnNldCwgdGltZW91dDogbmlsKWAKCkFzIGZvciB0aGUgcmV0dXJuIHZhbHVlIGluIGNhc2Ugb2Yg YSB0aW1lb3V0LCBpdCBpcyBpbXBvcnRhbnQgdG8gY29udmV5IGJvdGggdGhhdCBhIHRpbWVvdXQg aGFwcGVuZWQsIGFuZCB0aGUgbnVtYmVyIG9mIGJ5dGVzIHRoYXQgd2VyZSBjb3BpZWQsIG90aGVy d2lzZSBpdCBtYWtlcyByZXRyaWVzIGltcG9zc2libGUuCgotIEl0IGNvdWxkIHNpbXBseSByZXR1 cm5zIHRoZSBudW1iZXIgb2YgYnl0ZSwgYW5kIGxldCB0aGUgY2FsbGVyIGNvbXBhcmUgaXQgdG8g dGhlIGV4cGVjdGVkIG51bWJlciBvZiBieXRlcyBjb3BpZWQsIGJ1dCB0aGF0IHdvdWxkbid0IHdv cmsgaW4gY2FzZXMgd2hlcmUgdGhlIHNpemUgb2YgYHNyY2AgaXNuJ3Qga25vd24uCi0gSXQgY291 bGQgcmV0dXJuIGAtMSAtIGJ5dGVzX2NvcGllZGAsIG5vdCBwYXJ0aWN1bGFybHkgZWxlZ2FudCBi dXQgd291bGQgd29yay4KLSBJdCBjb3VsZCByZXR1cm4gbXVsdGlwbGUgdmFsdWVzIG9yIHNvbWUg a2luZCBvZiByZXN1bHQgb2JqZWN0IHdoZW4gYSB0aW1lb3V0IGlzIHByb3ZpZGVkLgotIEl0IGNv dWxkIHJhaXNlIGFuIGVycm9yLCB3aXRoIGBieXRlc19jb3BpZWRgIGFzIGFuIGF0dHJpYnV0ZSBv biB0aGUgZXJyb3IuCgpPciBhbHRlcm5hdGl2ZWx5IGBjb3B5X3N0cmVhbWAgd291bGQgYmUgbGVm dCB3aXRob3V0IGEgdGltZW91dCwgYW5kIHNvbWUga2luZCBvZiBgY29weV9zdHJlYW0yYCB3b3Vs ZCBiZSBpbnRyb2R1Y2VkIHNvIHRoYXQgYGNvcHlfc3RyZWFtYCByZXR1cm4gdmFsdWUgd291bGRu J3QgYmUgbWFkZSBpbmNvbnNpc3RlbnQuCgoKCgoKCi0tIApodHRwczovL2J1Z3MucnVieS1sYW5n Lm9yZy8K