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 F3DC61F8C8 for ; Tue, 28 Sep 2021 10:10:16 +0000 (UTC) Received: from neon.ruby-lang.org (localhost [IPv6:::1]) by neon.ruby-lang.org (Postfix) with ESMTP id 2A830120ACC; Tue, 28 Sep 2021 19:10:09 +0900 (JST) 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 7559A120ACC for ; Tue, 28 Sep 2021 19:10:07 +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=zIY4P1ltnZZQdSZ+4wgsl2VCe0hA7nRVFa5guZatSaY=; b=xMVPpnz00oI4nMRpJDPY0XKVRMucVI9tHOiHEmpN5bFav0vhs9cutwDL/SY7dNHXE6Fa OMwW37AnIZajfx/2LbVBgoJzglVvQZb0uOInv40IifhSqZDsrvQyLaMHUeCdNID6xS0u2M RFFYeS7XLFv4nq85T5NPvW2FouSrDdOWs= Received: by filterdrecv-656998cfdd-phncc with SMTP id filterdrecv-656998cfdd-phncc-1-6152E9F8-37 2021-09-28 10:10:00.396136677 +0000 UTC m=+556961.582383453 Received: from herokuapp.com (unknown) by geopod-ismtpd-6-1 (SG) with ESMTP id i6IF_CneTxS8sfqNZ1_fnw for ; Tue, 28 Sep 2021 10:10:00.346 +0000 (UTC) Date: Tue, 28 Sep 2021 10:10:00 +0000 (UTC) From: "Eregon (Benoit Daloze)" 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: Eregon 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: 81670 X-SG-EID: =?us-ascii?Q?DvL3W2Xo+Vk=2FeUn3F50L=2FNc8u9NqZCnbE0mXZHiyye4R1YZg=2FtAFc0SAFzpcS=2F?= =?us-ascii?Q?Zcr7BqPN=2FYCcMZBMITNeIci9STxYay0JAJWPbek?= =?us-ascii?Q?rFR+qUU2iBsY8wIbaTTIT8Bagq013tiPpHFInP8?= =?us-ascii?Q?Qc0y=2FxzaZr1bvIOIaEcxeiPK=2FasQ+XOxq7vIk+l?= =?us-ascii?Q?HLh4Zgxn2XtqOA1q=2FwppZK6QDFDazG17rRvweAM?= =?us-ascii?Q?AsbLikNF70G=2F7ClgbEPmwF=2FD+GfXXK5rUYQnk80?= =?us-ascii?Q?Vk4wgRd1Htx1k8P6cDdGg=3D=3D?= To: ruby-core@ruby-lang.org X-Entity-ID: b/2+PoftWZ6GuOu3b0IycA== X-ML-Name: ruby-core X-Mail-Count: 105463 Subject: [ruby-core:105463] [Ruby master Feature#18228] Add a `timeout` option to `IO.copy_stream` X-BeenThere: ruby-core@ruby-lang.org X-Mailman-Version: 2.1.23 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" SXNzdWUgIzE4MjI4IGhhcyBiZWVuIHVwZGF0ZWQgYnkgRXJlZ29uIChCZW5vaXQgRGFsb3plKS4K CgpieXJvb3QgKEplYW4gQm91c3NpZXIpIHdyb3RlIGluICNub3RlLTQ6Cj4gSSB0aGluayBpdCBj YW4/IEJ1dCBmcm9tIG15IGluaXRpYWwgcmVzZWFyY2ggSSB3YXMgdW5kZXIgdGhlIGltcHJlc3Np b24gdGhhdCB1c2luZyBBTEFSTSB0byBpbnRlcnJ1cHQgc3lzdGVtIGNhbGxzIHdhcyBhIGJpdCBm cm93bmVkIHVwb24gYW5kIHRoYXQgYHBvbGwvc2VsZWN0YCB3YXMgZ2VuZXJhbGx5IHJlZ2FyZGVk IGFzIHByZWZlcmFibGUuCgpJdCdzIHdoYXQgUnVieSBhbHJlYWR5IHVzZXMgdG8gaW50ZXJydXB0 IGJsb2NraW5nIHN5c3RlbSBjYWxscyBmb3IgUnVieSBpbnRlcnJ1cHRzIGxpa2Ugc2lnbmFscywg VGhyZWFkI3JhaXNlLCBldGMgKGFzIHlvdSBtaWdodCBhbHJlYWR5IGtub3cpLCBzbyBJIHRoaW5r IGl0J3MgZmluZS4KTWFraW5nIGFuIElPIG5vbi1ibG9ja2luZyBmb3IgSU8uY29weV9zdHJlYW0g bWlnaHQgaGF2ZSBzaWRlIGVmZmVjdHMsIGJ1dCBtYXliZSB0aGV5IGFyZSBmaW5lLgoKLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpGZWF0dXJlICMxODIyODogQWRkIGEg YHRpbWVvdXRgIG9wdGlvbiB0byBgSU8uY29weV9zdHJlYW1gCmh0dHBzOi8vYnVncy5ydWJ5LWxh bmcub3JnL2lzc3Vlcy8xODIyOCNjaGFuZ2UtOTM5MTMKCiogQXV0aG9yOiBieXJvb3QgKEplYW4g Qm91c3NpZXIpCiogU3RhdHVzOiBPcGVuCiogUHJpb3JpdHk6IE5vcm1hbAotLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMjIyBDb250ZXh0CgpJbiBtYW55IHNpdHVhdGlv bnMgZGVhbGluZyB3aXRoIGxhcmdlIGZpbGVzLCBgSU8uY29weV9zdHJlYW1gIHdoZW4gdXNhYmxl IGJyaW5nIG1ham9yIHBlcmZvcm1hbmNlIGdhaW5zIChvZnRlbiB0d2ljZSBmYXN0ZXIgYXQgdGhl IHZlcnkgbGVhc3QpLiBBbmQgbW9yZSBpbXBvcnRhbnRseSwgd2hlbiB0aGUgY29weWluZyBpcyBk ZWZlcnJlZCB0byB0aGUga2VybmVsLCB0aGUgcGVyZm9ybWFuY2UgaXMgbXVjaCBtb3JlIGNvbnNp c3RlbnQgYXMgaXQgaXMgbGVzcyBpbXBhY3RlZCBieSB0aGUgQ1BVIHV0aWxpemF0aW9uIG9uIHRo ZSBtYWNoaW5lLgoKSG93ZXZlciwgaXQgaXMgb2Z0ZW4gdW5zYWZlIHRvIHVzZSBiZWNhdXNlIGl0 IGRvZXNuJ3QgaGF2ZSBhIHRpbWVvdXQsIHNvIHlvdSBjYW4gb25seSB1c2UgaXQgaWYgYm90aCB0 aGUgc291cmNlIGFuZCBkZXN0aW5hdGlvbiBJT3MgYXJlIHRydXN0ZWQsIG90aGVyd2lzZSBpdCBp cyB0cml2aWFsIGZvciBhbiBhdHRhY2tlciB0byBET1MgdGhlIHNlcnZpY2UgYnkgcmVhZGluZyB0 aGUgcmVzcG9uc2UgdmVyeSBzbG93bHkuCgojIyMgU29tZSBleGFtcGxlcwoKLSBJdCBpcyBbdXNl ZCBieSBgd2Vicmlja2BdKGh0dHBzOi8vZ2l0aHViLmNvbS9ydWJ5L3dlYnJpY2svY29tbWl0LzU0 YmU2ODRkYTlkOTkzYWQ2YzIzN2UyZTk4NTNlYjk4YmNiYWFlNmUpLgotIGBOZXQ6OkhUVFBgIHVz ZXMgaXQgdG8gc2VuZCByZXF1ZXN0IGJvZHkgaWYgdGhleSBhcmUgSU9zLCBidXQgW2l0IGlzIHVz ZWQgd2l0aCBhICJmYWtlIElPIiB0byBhbGxvdyBmb3IgdGltZW91dHNdKGh0dHBzOi8vZ2l0aHVi LmNvbS9ydWJ5L25ldC1odHRwL3B1bGwvMjcpLCBzbyBgc2VuZGZpbGUoMilgICZjbyBhcmUgbmV2 ZXIgdXNlZC4KLSBbQSBwcm9vZiBvZiBjb25jZXB0IG9mIGludGVncmF0aW5nIGluIHB1bWEgc2hv d3MgYSAyeCBzcGVlZHVwXShodHRwczovL2dpdGh1Yi5jb20vcHVtYS9wdW1hL3B1bGwvMjcwMyku IAotIFtWYXJpb3VzIG90aGVyIEhUVFAgY2xpZW50IGNvdWxkIHVzZSBpdCBhcyB3ZWxsXShodHRw czovL2dpdGh1Yi5jb20vbmFoaS9odHRwY2xpZW50L3B1bGwvMzgzKS4KLSBJIHVzZWQgaXQgaW4g cHJpdmF0ZSBwcm9qZWN0cyB0byBkb3dubG9hZCBhbmQgdXBsb2FkIGxhcmdlIGFyY2hpdmVzIGlu IGFuZCBvdXQgb2YgR29vZ2xlIENsb3VkIFN0b3JhZ2Ugd2l0aCBncmVhdCBlZmZlY3RzLgoKIyMj IFBvc3NpYmxlIGltcGxlbWVudGF0aW9uCgpUaGUgbWFpbiBkaWZmaWN1bHR5IGlzIHRoYXQgdGhl IHVuZGVybHlpbmcgc3ljYWxscyBkb24ndCBoYXZlIGEgdGltZW91dCBlaXRoZXIuCgpUaGUgbWFp biBzeXNjYWxsIHVzZWQgaW4gdGhlc2Ugc2NlbmFyaW9zIGlzIGBzZW5kZmlsZSgyKWAuIEl0IGRv ZXNuJ3QgaGF2ZSBhIHRpbWVvdXQgcGFyYW1ldGVyLCBob3dldmVyIGlmIGNhbGxlZCBvbiBmaWxl IGRlc2NyaXB0b3JzIHdpdGggYE9fTk9OQkxPQ0tgIGl0IGRvZXMgcmV0dXJuIGVhcmx5IGFuZCBh bGxvdyBmb3IgYSBgc2VsZWN0L3BvbGxgIGxvb3AuIEkgZGlkIGEgdmVyeSBxdWljayBhbmQgZGly dHkgZXhwZXJpbWVudCB3aXRoIHRoaXMsIGFuZCBpdCBkb2VzIHNlZW0gdG8gd29yay4KClRoZSBv dGhlciB0d28gYWNjZWxlcmF0aW5nIHN5c2NhbGxzIGFyZSBbYGNvcHlfZmlsZV9yYW5nZSgyKWBd KGh0dHBzOi8vbWFuNy5vcmcvbGludXgvbWFuLXBhZ2VzL21hbjIvY29weV9maWxlX3JhbmdlLjIu aHRtbCkgKGxpbnV4KSBhbmQgW2BmY29weWZpbGUoMilgXShodHRwczovL2RldmVsb3Blci5hcHBs ZS5jb20vbGlicmFyeS9hcmNoaXZlL2RvY3VtZW50YXRpb24vU3lzdGVtL0NvbmNlcHR1YWwvTWFu UGFnZXNfaVBob25lT1MvbWFuMy9mY29weWZpbGUuMy5odG1sKSAobWFjT1MpLiBOZWl0aGVyIGhh dmUgYSB0aW1lb3V0LCBhbmQgbmVpdGhlciBtYW5wYWdlIGRvY3VtZW50IGFuIGBFQUdBSU4gLyBF V09VTERCTE9DS2AgZXJyb3IuIEhvd2V2ZXIgdGhlc2Ugc3lzY2FsbHMgYXJlIGxpbWl0ZWQgdG8g cmVhbCBmaWxlIGNvcGllcywgZ2VuZXJhbGx5IHNwZWFraW5nIHRpbWVvdXRzIGZvciByZWFsIGZp bGVzIGFyZSBsZXNzIG9mIGEgY3JpdGljYWwgbmVlZCwgc28gaXQgd291bGQgYmUgcG9zc2libGUg dG8gc2ltcGx5IG5vdCB1c2UgdGhlc2Ugc3lzY2FsbHMgaWYgYSB0aW1lb3V0IGlzIHByb3ZpZGVk LgoKIyMjIEludGVyZmFjZQoKYGNvcHlfc3RyZWFtKHNyYywgZHN0LCBjb3B5X2xlbmd0aCwgc3Jj X29mZnNldCwgdGltZW91dClgCm9yIGBjb3B5X3N0cmVhbShzcmMsIGRzdCwgY29weV9sZW5ndGgs IHNyY19vZmZzZXQsIHRpbWVvdXQ6IG5pbClgCgpBcyBmb3IgdGhlIHJldHVybiB2YWx1ZSBpbiBj YXNlIG9mIGEgdGltZW91dCwgaXQgaXMgaW1wb3J0YW50IHRvIGNvbnZleSBib3RoIHRoYXQgYSB0 aW1lb3V0IGhhcHBlbmVkLCBhbmQgdGhlIG51bWJlciBvZiBieXRlcyB0aGF0IHdlcmUgY29waWVk LCBvdGhlcndpc2UgaXQgbWFrZXMgcmV0cmllcyBpbXBvc3NpYmxlLgoKLSBJdCBjb3VsZCBzaW1w bHkgcmV0dXJucyB0aGUgbnVtYmVyIG9mIGJ5dGUsIGFuZCBsZXQgdGhlIGNhbGxlciBjb21wYXJl IGl0IHRvIHRoZSBleHBlY3RlZCBudW1iZXIgb2YgYnl0ZXMgY29waWVkLCBidXQgdGhhdCB3b3Vs ZG4ndCB3b3JrIGluIGNhc2VzIHdoZXJlIHRoZSBzaXplIG9mIGBzcmNgIGlzbid0IGtub3duLgot IEl0IGNvdWxkIHJldHVybiBgLTEgLSBieXRlc19jb3BpZWRgLCBub3QgcGFydGljdWxhcmx5IGVs ZWdhbnQgYnV0IHdvdWxkIHdvcmsuCi0gSXQgY291bGQgcmV0dXJuIG11bHRpcGxlIHZhbHVlcyBv ciBzb21lIGtpbmQgb2YgcmVzdWx0IG9iamVjdCB3aGVuIGEgdGltZW91dCBpcyBwcm92aWRlZC4K LSBJdCBjb3VsZCByYWlzZSBhbiBlcnJvciwgd2l0aCBgYnl0ZXNfY29waWVkYCBhcyBhbiBhdHRy aWJ1dGUgb24gdGhlIGVycm9yLgoKT3IgYWx0ZXJuYXRpdmVseSBgY29weV9zdHJlYW1gIHdvdWxk IGJlIGxlZnQgd2l0aG91dCBhIHRpbWVvdXQsIGFuZCBzb21lIGtpbmQgb2YgYGNvcHlfc3RyZWFt MmAgd291bGQgYmUgaW50cm9kdWNlZCBzbyB0aGF0IGBjb3B5X3N0cmVhbWAgcmV0dXJuIHZhbHVl IHdvdWxkbid0IGJlIG1hZGUgaW5jb25zaXN0ZW50LgoKCgoKCgotLSAKaHR0cHM6Ly9idWdzLnJ1 YnktbGFuZy5vcmcvCg==