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 A16931F8C8 for ; Mon, 27 Sep 2021 16:58:01 +0000 (UTC) Received: from neon.ruby-lang.org (localhost [IPv6:::1]) by neon.ruby-lang.org (Postfix) with ESMTP id 91250120B25; Tue, 28 Sep 2021 01:57:53 +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=pO+ZKfHq; 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 3B407120B1E for ; Tue, 28 Sep 2021 01:57:51 +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=Hiz5rk+V/yMc7jcw0Crk4Waq0Dhw17ZjcoLYwA4J8Ow=; b=pO+ZKfHqaTM6XmwBlgK3M1zmpNGzdXgaZqZ/5V3iRLmMXCWLbTlqRAszMkotS52Zp+uK i1HD5b8pLvjw9Gf5RKSlj5e6WqLlMiJc3sNz2/HWIkm6NqKNXn9WwmveHcp4MGrXbrnG4O 9lvzQbnAoxxC5wn7lmFCuveioMjpmWe28= Received: by filterdrecv-64fcb979b9-8r2zw with SMTP id filterdrecv-64fcb979b9-8r2zw-1-6151F808-4 2021-09-27 16:57:44.161946121 +0000 UTC m=+1184456.196701854 Received: from herokuapp.com (unknown) by ismtpd0172p1mdw1.sendgrid.net (SG) with ESMTP id 6YV11ZikQlC_Rc9H2epZJQ for ; Mon, 27 Sep 2021 16:57:44.104 +0000 (UTC) Date: Mon, 27 Sep 2021 16:57:44 +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: 81658 X-SG-EID: =?us-ascii?Q?DvL3W2Xo+Vk=2FeUn3F50L=2FNc8u9NqZCnbE0mXZHiyye4R1YZg=2FtAFc0SAFzpcS=2F?= =?us-ascii?Q?Zcr7BqPN=2FYCcMZBMITNeIci9STxYay0JAJWPbek?= =?us-ascii?Q?rFR+qWLHO2DgRVHmQIU3IbCdvip4bAp4BdPvTej?= =?us-ascii?Q?2n8fp1Rdd3u=2FpvkOoDSQTjKPrDWPYvcLKioRaA5?= =?us-ascii?Q?Al84Eez6mKIa7rTdFGmtDVrHuJcee1JNbO9Nzol?= =?us-ascii?Q?qiX1gW61Wl10w6=2FYbb+lW=2F=2FBH=2FinXEDCf1DNvln?= =?us-ascii?Q?mnjbaxPaxwnl3ZS=2FjcPdA=3D=3D?= To: ruby-core@ruby-lang.org X-Entity-ID: b/2+PoftWZ6GuOu3b0IycA== X-ML-Name: ruby-core X-Mail-Count: 105451 Subject: [ruby-core:105451] [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" 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 cmcvCg==