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.8 required=3.0 tests=AWL,BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI,SPF_HELO_NONE,SPF_PASS, UNPARSEABLE_RELAY,URIBL_GREY shortcircuit=no autolearn=ham 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 78A581F8C8 for ; Mon, 27 Sep 2021 20:12:05 +0000 (UTC) Received: from neon.ruby-lang.org (localhost [IPv6:::1]) by neon.ruby-lang.org (Postfix) with ESMTP id 6ACBF120B7D; Tue, 28 Sep 2021 05:12:01 +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=UQMKuWpQ; dkim-adsp=none (unprotected policy); dkim-atps=neutral Received: from o1678948x4.outbound-mail.sendgrid.net (o1678948x4.outbound-mail.sendgrid.net [167.89.48.4]) by neon.ruby-lang.org (Postfix) with ESMTPS id 68990120B7F for ; Tue, 28 Sep 2021 05:11:59 +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=YOR88F0pnK76mgFqaP2KFDVnnaLCi1e6BYLpS1QMsMI=; b=UQMKuWpQHbWGBsxiy+OTn10+1+8ifz8ideehtPZX9EcQe1TlmpQVYK6N5hXmXfrQugCg h7oVIHs6W2uU8Ss74GQlZEOhiayoPZ3g31YSS/1sv9v1UvBppjFaKwkVBsHQ51VmHZ8evN mC55JRdU2atzpQpIQWzjUuI7tdnp6lboU= Received: by filterdrecv-55446c4d49-vwc7m with SMTP id filterdrecv-55446c4d49-vwc7m-1-61522589-10 2021-09-27 20:11:53.103463025 +0000 UTC m=+2238658.878605514 Received: from herokuapp.com (unknown) by ismtpd0166p1iad2.sendgrid.net (SG) with ESMTP id USrnxPlBQMGaA439SrTZeQ for ; Mon, 27 Sep 2021 20:11:53.049 +0000 (UTC) Date: Mon, 27 Sep 2021 20:11:53 +0000 (UTC) From: "ioquatix (Samuel Williams)" 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: ioquatix 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: 81660 X-SG-EID: =?us-ascii?Q?RXGrw3WrKfUduNFRrzMMcXYHKEABJI9T84jNjq2g6rBTg=2FXhHIicnPoJUXLutJ?= =?us-ascii?Q?tdNFg7BiEDMUtMCwjaLtb0ItKeRyv3NlZm6AYiJ?= =?us-ascii?Q?s0JX4OXZel87vyAI=2FPGdIbVIvxxS8LTimSRxAwj?= =?us-ascii?Q?H9OZQ+dEaNmaWioF9TDnpBnjEJ9JBCJ3AzE+Dnr?= =?us-ascii?Q?BIXNOcOzHV28FGCp2PUS8hnX6zMcAJkbJaOHGnC?= =?us-ascii?Q?dnV4ExumsZEbE0BEC1H4r1ZmAQwBPUT=2FSRu4uIK?= =?us-ascii?Q?U5vbbDOKiJCPC34+mGWJw=3D=3D?= To: ruby-core@ruby-lang.org X-Entity-ID: b/2+PoftWZ6GuOu3b0IycA== X-ML-Name: ruby-core X-Mail-Count: 105453 Subject: [ruby-core:105453] [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" SXNzdWUgIzE4MjI4IGhhcyBiZWVuIHVwZGF0ZWQgYnkgaW9xdWF0aXggKFNhbXVlbCBXaWxsaWFt cykuCgoKSnVzdCBGWUk6IGBzZW5kZmlsZWAgaXMgbGVzcyBmbGV4aWJsZSBhbmQgeW91IHNob3Vs ZCBnZW5lcmFsbHkgYXZvaWQgaXQuIFRoZSBtb2Rlcm4gc3lzY2FsbCBpcyBgc3BsaWNlYC4gSSds bCByZWFkIHRoZSByZXN0IG9mIHRoZSBpc3N1ZSBpbiBtb3JlIGRldGFpbCBhbmQgcmVwbHkgbGF0 ZXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkZlYXR1cmUgIzE4 MjI4OiBBZGQgYSBgdGltZW91dGAgb3B0aW9uIHRvIGBJTy5jb3B5X3N0cmVhbWAKaHR0cHM6Ly9i dWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzE4MjI4I2NoYW5nZS05MzkwMwoKKiBBdXRob3I6IGJ5 cm9vdCAoSmVhbiBCb3Vzc2llcikKKiBTdGF0dXM6IE9wZW4KKiBQcmlvcml0eTogTm9ybWFsCi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyMjIENvbnRleHQKCkluIG1h bnkgc2l0dWF0aW9ucyBkZWFsaW5nIHdpdGggbGFyZ2UgZmlsZXMsIGBJTy5jb3B5X3N0cmVhbWAg d2hlbiB1c2FibGUgYnJpbmcgbWFqb3IgcGVyZm9ybWFuY2UgZ2FpbnMgKG9mdGVuIHR3aWNlIGZh c3RlciBhdCB0aGUgdmVyeSBsZWFzdCkuIEFuZCBtb3JlIGltcG9ydGFudGx5LCB3aGVuIHRoZSBj b3B5aW5nIGlzIGRlZmVycmVkIHRvIHRoZSBrZXJuZWwsIHRoZSBwZXJmb3JtYW5jZSBpcyBtdWNo IG1vcmUgY29uc2lzdGVudCBhcyBpdCBpcyBsZXNzIGltcGFjdGVkIGJ5IHRoZSBDUFUgdXRpbGl6 YXRpb24gb24gdGhlIG1hY2hpbmUuCgpIb3dldmVyLCBpdCBpcyBvZnRlbiB1bnNhZmUgdG8gdXNl IGJlY2F1c2UgaXQgZG9lc24ndCBoYXZlIGEgdGltZW91dCwgc28geW91IGNhbiBvbmx5IHVzZSBp dCBpZiBib3RoIHRoZSBzb3VyY2UgYW5kIGRlc3RpbmF0aW9uIElPcyBhcmUgdHJ1c3RlZCwgb3Ro ZXJ3aXNlIGl0IGlzIHRyaXZpYWwgZm9yIGFuIGF0dGFja2VyIHRvIERPUyB0aGUgc2VydmljZSBi eSByZWFkaW5nIHRoZSByZXNwb25zZSB2ZXJ5IHNsb3dseS4KCiMjIyBTb21lIGV4YW1wbGVzCgot IEl0IGlzIFt1c2VkIGJ5IGB3ZWJyaWNrYF0oaHR0cHM6Ly9naXRodWIuY29tL3J1Ynkvd2Vicmlj ay9jb21taXQvNTRiZTY4NGRhOWQ5OTNhZDZjMjM3ZTJlOTg1M2ViOThiY2JhYWU2ZSkuCi0gYE5l dDo6SFRUUGAgdXNlcyBpdCB0byBzZW5kIHJlcXVlc3QgYm9keSBpZiB0aGV5IGFyZSBJT3MsIGJ1 dCBbaXQgaXMgdXNlZCB3aXRoIGEgImZha2UgSU8iIHRvIGFsbG93IGZvciB0aW1lb3V0c10oaHR0 cHM6Ly9naXRodWIuY29tL3J1YnkvbmV0LWh0dHAvcHVsbC8yNyksIHNvIGBzZW5kZmlsZSgyKWAg JmNvIGFyZSBuZXZlciB1c2VkLgotIFtBIHByb29mIG9mIGNvbmNlcHQgb2YgaW50ZWdyYXRpbmcg aW4gcHVtYSBzaG93cyBhIDJ4IHNwZWVkdXBdKGh0dHBzOi8vZ2l0aHViLmNvbS9wdW1hL3B1bWEv cHVsbC8yNzAzKS4gCi0gW1ZhcmlvdXMgb3RoZXIgSFRUUCBjbGllbnQgY291bGQgdXNlIGl0IGFz IHdlbGxdKGh0dHBzOi8vZ2l0aHViLmNvbS9uYWhpL2h0dHBjbGllbnQvcHVsbC8zODMpLgotIEkg dXNlZCBpdCBpbiBwcml2YXRlIHByb2plY3RzIHRvIGRvd25sb2FkIGFuZCB1cGxvYWQgbGFyZ2Ug YXJjaGl2ZXMgaW4gYW5kIG91dCBvZiBHb29nbGUgQ2xvdWQgU3RvcmFnZSB3aXRoIGdyZWF0IGVm ZmVjdHMuCgojIyMgUG9zc2libGUgaW1wbGVtZW50YXRpb24KClRoZSBtYWluIGRpZmZpY3VsdHkg aXMgdGhhdCB0aGUgdW5kZXJseWluZyBzeWNhbGxzIGRvbid0IGhhdmUgYSB0aW1lb3V0IGVpdGhl ci4KClRoZSBtYWluIHN5c2NhbGwgdXNlZCBpbiB0aGVzZSBzY2VuYXJpb3MgaXMgYHNlbmRmaWxl KDIpYC4gSXQgZG9lc24ndCBoYXZlIGEgdGltZW91dCBwYXJhbWV0ZXIsIGhvd2V2ZXIgaWYgY2Fs bGVkIG9uIGZpbGUgZGVzY3JpcHRvcnMgd2l0aCBgT19OT05CTE9DS2AgaXQgZG9lcyByZXR1cm4g ZWFybHkgYW5kIGFsbG93IGZvciBhIGBzZWxlY3QvcG9sbGAgbG9vcC4gSSBkaWQgYSB2ZXJ5IHF1 aWNrIGFuZCBkaXJ0eSBleHBlcmltZW50IHdpdGggdGhpcywgYW5kIGl0IGRvZXMgc2VlbSB0byB3 b3JrLgoKVGhlIG90aGVyIHR3byBhY2NlbGVyYXRpbmcgc3lzY2FsbHMgYXJlIFtgY29weV9maWxl X3JhbmdlKDIpYF0oaHR0cHM6Ly9tYW43Lm9yZy9saW51eC9tYW4tcGFnZXMvbWFuMi9jb3B5X2Zp bGVfcmFuZ2UuMi5odG1sKSAobGludXgpIGFuZCBbYGZjb3B5ZmlsZSgyKWBdKGh0dHBzOi8vZGV2 ZWxvcGVyLmFwcGxlLmNvbS9saWJyYXJ5L2FyY2hpdmUvZG9jdW1lbnRhdGlvbi9TeXN0ZW0vQ29u Y2VwdHVhbC9NYW5QYWdlc19pUGhvbmVPUy9tYW4zL2Zjb3B5ZmlsZS4zLmh0bWwpIChtYWNPUyku IE5laXRoZXIgaGF2ZSBhIHRpbWVvdXQsIGFuZCBuZWl0aGVyIG1hbnBhZ2UgZG9jdW1lbnQgYW4g YEVBR0FJTiAvIEVXT1VMREJMT0NLYCBlcnJvci4gSG93ZXZlciB0aGVzZSBzeXNjYWxscyBhcmUg bGltaXRlZCB0byByZWFsIGZpbGUgY29waWVzLCBnZW5lcmFsbHkgc3BlYWtpbmcgdGltZW91dHMg Zm9yIHJlYWwgZmlsZXMgYXJlIGxlc3Mgb2YgYSBjcml0aWNhbCBuZWVkLCBzbyBpdCB3b3VsZCBi ZSBwb3NzaWJsZSB0byBzaW1wbHkgbm90IHVzZSB0aGVzZSBzeXNjYWxscyBpZiBhIHRpbWVvdXQg aXMgcHJvdmlkZWQuCgojIyMgSW50ZXJmYWNlCgpgY29weV9zdHJlYW0oc3JjLCBkc3QsIGNvcHlf bGVuZ3RoLCBzcmNfb2Zmc2V0LCB0aW1lb3V0KWAKb3IgYGNvcHlfc3RyZWFtKHNyYywgZHN0LCBj b3B5X2xlbmd0aCwgc3JjX29mZnNldCwgdGltZW91dDogbmlsKWAKCkFzIGZvciB0aGUgcmV0dXJu IHZhbHVlIGluIGNhc2Ugb2YgYSB0aW1lb3V0LCBpdCBpcyBpbXBvcnRhbnQgdG8gY29udmV5IGJv dGggdGhhdCBhIHRpbWVvdXQgaGFwcGVuZWQsIGFuZCB0aGUgbnVtYmVyIG9mIGJ5dGVzIHRoYXQg d2VyZSBjb3BpZWQsIG90aGVyd2lzZSBpdCBtYWtlcyByZXRyaWVzIGltcG9zc2libGUuCgotIEl0 IGNvdWxkIHNpbXBseSByZXR1cm5zIHRoZSBudW1iZXIgb2YgYnl0ZSwgYW5kIGxldCB0aGUgY2Fs bGVyIGNvbXBhcmUgaXQgdG8gdGhlIGV4cGVjdGVkIG51bWJlciBvZiBieXRlcyBjb3BpZWQsIGJ1 dCB0aGF0IHdvdWxkbid0IHdvcmsgaW4gY2FzZXMgd2hlcmUgdGhlIHNpemUgb2YgYHNyY2AgaXNu J3Qga25vd24uCi0gSXQgY291bGQgcmV0dXJuIGAtMSAtIGJ5dGVzX2NvcGllZGAsIG5vdCBwYXJ0 aWN1bGFybHkgZWxlZ2FudCBidXQgd291bGQgd29yay4KLSBJdCBjb3VsZCByZXR1cm4gbXVsdGlw bGUgdmFsdWVzIG9yIHNvbWUga2luZCBvZiByZXN1bHQgb2JqZWN0IHdoZW4gYSB0aW1lb3V0IGlz IHByb3ZpZGVkLgotIEl0IGNvdWxkIHJhaXNlIGFuIGVycm9yLCB3aXRoIGBieXRlc19jb3BpZWRg IGFzIGFuIGF0dHJpYnV0ZSBvbiB0aGUgZXJyb3IuCgpPciBhbHRlcm5hdGl2ZWx5IGBjb3B5X3N0 cmVhbWAgd291bGQgYmUgbGVmdCB3aXRob3V0IGEgdGltZW91dCwgYW5kIHNvbWUga2luZCBvZiBg Y29weV9zdHJlYW0yYCB3b3VsZCBiZSBpbnRyb2R1Y2VkIHNvIHRoYXQgYGNvcHlfc3RyZWFtYCBy ZXR1cm4gdmFsdWUgd291bGRuJ3QgYmUgbWFkZSBpbmNvbnNpc3RlbnQuCgoKCgoKCi0tIApodHRw czovL2J1Z3MucnVieS1sYW5nLm9yZy8K