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.5 required=3.0 tests=AWL,BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE,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 EA47A1F4CE for ; Thu, 31 Mar 2022 11:46:27 +0000 (UTC) Received: from neon.ruby-lang.org (localhost [IPv6:::1]) by neon.ruby-lang.org (Postfix) with ESMTP id 84D29120BE2; Thu, 31 Mar 2022 20:46:26 +0900 (JST) 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 A6CC4120B51 for ; Thu, 31 Mar 2022 20:46:24 +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=EKIBNrukyLf46rIeDzaxRaKWdEqEOtzQG9Q895j3AZo=; b=vF5BXp5jeXxZvQdUdVwuFQSmHR2AlVeIrZA5n3NrZbrzhvvzd0IP0Q+50aqERMRK5Qk/ 8FVsVso1n3HkybXMAMdMBnt/8AkgZ1AOg0lCIT7CWvebm2P1KlGoeSRdpiKz4Q9jT5jq9j l/3SgZMfTheMhpek1qXc7kR20dHtBA1f8= Received: by filterdrecv-55446c4d49-xldjr with SMTP id filterdrecv-55446c4d49-xldjr-1-6245948E-62 2022-03-31 11:46:22.862283906 +0000 UTC m=+18192386.341475204 Received: from herokuapp.com (unknown) by geopod-ismtpd-1-1 (SG) with ESMTP id Vv-myy1LS_KoMq1IRfWuKQ for ; Thu, 31 Mar 2022 11:46:22.828 +0000 (UTC) Date: Thu, 31 Mar 2022 11:46:22 +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: 18630 X-Redmine-Issue-Author: ioquatix 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: 84473 X-SG-EID: =?us-ascii?Q?RXGrw3WrKfUduNFRrzMMcXYHKEABJI9T84jNjq2g6rBTg=2FXhHIicnPoJUXLutJ?= =?us-ascii?Q?tdNFg7BiEDMUtMCwjaLtb0ItKeRyv3NlZm6AYiJ?= =?us-ascii?Q?s0JX4Os3wG6n759Uy5jZ6mKZj02J2u3t7ySduLB?= =?us-ascii?Q?J+Qo01uCzAfoTpnmPDqpzhB=2FRp8pO2vFhG+Kl9O?= =?us-ascii?Q?LfWui5cQOiBNwU4LG4+WCeJz1EYNVfn=2FlJYgGcv?= =?us-ascii?Q?dQMKH0UUkSjRHthEP5IELsO2Hk79cDgNoCt2KJI?= =?us-ascii?Q?nhLcXJ=2FzEdyCnREQ1e2LQ=3D=3D?= To: ruby-core@ruby-lang.org X-Entity-ID: b/2+PoftWZ6GuOu3b0IycA== X-ML-Name: ruby-core X-Mail-Count: 108139 Subject: [ruby-core:108139] [Ruby master Feature#18630] Introduce general `IO#timeout` and `IO#timeout=`for all (non-)blocking operations. 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" SXNzdWUgIzE4NjMwIGhhcyBiZWVuIHVwZGF0ZWQgYnkgaW9xdWF0aXggKFNhbXVlbCBXaWxsaWFt cykuCgoKQnkgdGhlIHdheSwgdGhpcyBzdGlsbCBkb2Vzbid0IGFkZHJlc3MgdGhhdCBzb21lIG9w ZXJhdGlvbnMgY2FuIHJldHVybiBgRXJybm86OkVUSU1FRE9VVGAgYW5kIHRoaXMgY2xhc3Mgb2Yg ZXJyb3JzIGlzIHByYWN0aWNhbGx5IHNwZWFraW5nIHRoZSBzYW1lLgoKSSBkb24ndCBoYXZlIGEg c3Ryb25nIG9waW5pb24gYWJvdXQgd2hldGhlciB3ZSBzaG91bGQgZm9yY2UgdXNlcnMgdG8gd3Jp dGUgYHJlc2N1ZSBJTzo6VGltZW91dEVycm9yLCBFcnJubzo6RVRJTUVET1VUYCBidXQgaXQgc2Vl bXMgbW9yZSBkaWZmaWN1bHQgZm9yIHVzZXJzLgoKUmVnYXJkaW5nIHdoaWNoIG9wZXJhdGlvbnMg Y2FuIGdpdmUgYEVycm5vOjpFVElNRURPVVRgIHlvdSBjYW4gY2hlY2sgeW91ciBsb2NhbCBtYW4g cGFnZXM6IGBtYW4gLUsgRVRJTUVET1VUYC4gU3VycHJpc2luZ2x5IG1hY09TIGhhcyBhIHRvbiBv ZiBoaXRzLCBldmVuIHNvbWUgbm9uLXNvY2tldCBjYXNlcy4gSSBjYW4gY2hlY2sgTGludXggdG9v LgoKSSBndWVzcyB3ZSBuZWVkIHRvIGRlY2lkZSB3aGV0aGVyIHdlIHRyeSB0byBpbmNvcnBvcmF0 ZSBgRXJybm86OkVUSU1FRE9VVGAgb3IgaWdub3JlIGl0LiBPciBtYXliZSBhbm90aGVyIG9wdGlv biBpcyB0byBqdXN0IGhhdmUgYSBzaGFyZWQgbW9kdWxlIHdoaWNoIGlzIGluY2x1ZGVkIGluIGFs bCBvZiB0aGVtLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpGZWF0 dXJlICMxODYzMDogSW50cm9kdWNlIGdlbmVyYWwgYElPI3RpbWVvdXRgIGFuZCBgSU8jdGltZW91 dD1gZm9yIGFsbCAobm9uLSlibG9ja2luZyBvcGVyYXRpb25zLgpodHRwczovL2J1Z3MucnVieS1s YW5nLm9yZy9pc3N1ZXMvMTg2MzAjY2hhbmdlLTk3MTE1CgoqIEF1dGhvcjogaW9xdWF0aXggKFNh bXVlbCBXaWxsaWFtcykKKiBTdGF0dXM6IE9wZW4KKiBQcmlvcml0eTogTm9ybWFsCi0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KSSB3b3VsZCBsaWtlIHVzIHRvIGNvbnNp ZGVyIGludHJvZHVjaW5nIGEgZ2VuZXJhbCBJTyB0aW1lb3V0IGZvciBhbGwgKG5vbi0pYmxvY2tp bmcgb3BlcmF0aW9ucywgc3BlY2lmaWVkIHBlci1JTyBpbnN0YW5jZS4gSXQncyB1c2VmdWwgZm9y IGVuc3VyaW5nIHByb2dyYW1zIGRvbid0IHN0b3AgcmVzcG9uZGluZyBvciBzcGVuZCBhbiB1bnJl YXNvbmFibGUgYW1vdW50IG9mIHRpbWUgd2FpdGluZyBmb3IgSU8gb3BlcmF0aW9ucy4KClRoZXJl IGFyZSBlZmZlY3RpdmVseSB0d28ga2luZHMgb2YgaW50ZXJmYWNlcyB0aGF0IHdlIG5lZWQgdG8g YWRkcmVzczoKCi0gVGhvc2UgdGhhdCBhbHJlYWR5IGhhdmUgYSB0aW1lb3V0IGFyZ3VtZW50IChl LmcuIGB3YWl0X3JlYWRhYmxlYCkgYW5kIHdlIGZvbGxvdyB0aGUgZXhpc3Rpbmcgc2VtYW50aWNz LgotIFRob3NlIHRoYXQgZG9uJ3QgaGF2ZSBhIHRpbWVvdXQgYXJndW1lbnQgb3IgdGltZW91dCBz ZW1hbnRpY3MgKGUuZy4gYHB1dHNgLCBgZ2V0c2ApLCBhbmQgdGh1cyBwcm9iYWJseSBuZWVkIHRv IHJhaXNlIGFuIGV4Y2VwdGlvbiBvbiB0aW1lb3V0LgoKV2UgaGF2ZSB0aHJlZSBwb3NzaWJsZSBr aW5kcyBvZiBleGNlcHRpb25zIHdlIGNvdWxkIHJhaXNlOgoKLSBgRXJybm86OkVUSU1FRE9VVGAK LSBgVGltZW91dDo6RXJyb3JgIChmcm9tIGB0aW1lb3V0LnJiYCkKLSBJbnRyb2R1Y2UgYElPOjpU aW1lb3V0YCBvciBzb21ldGhpbmcgc2ltaWxhci4KClRpbWVvdXQgaXNuJ3QgbmVjZXNzYXJpbHkg YW4gZXJyb3IgY29uZGl0aW9uLiBUaGVyZSBhcmUgZGlmZmVyZW50IGFyZ3VtZW50cyBmb3Igd2hl dGhlciB3ZSBzaG91bGQgZGVmaW5lOgoKYGBgcnVieQpjbGFzcyBJTzo6VGltZW91dCA8IEV4Y2Vw dGlvbgplbmQKCiMgb3IKCmNsYXNzIElPOjpUaW1lb3V0IDwgU3RhbmRhcmRFcnJvcgplbmQKYGBg CgpJIGJlbGlldmUgdGhlIGxhdHRlciAoYFN0YW5kYXJkRXJyb3JgKSBpcyBtb3JlIHByYWN0aWNh bCBidXQgSSdtIG9wZW4gdG8gZWl0aGVyIG9wdGlvbi4gSSBtaWdodCBoYXZlIG1vcmUgc3BlY2lm aWMgYXJndW1lbnRzIGxhdGVyIHdoeSBvbmUgaXMgYmV0dGVyIHRoYW4gdGhlIG90aGVyIGFmdGVy IHRlc3RpbmcgaW4gYSBwcmFjdGljYWwgc3lzdGVtLgoKVGhlcmUgaXMgYWxyZWFkeSBhIFBSIHRv IHRyeSBpdCBvdXQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9ydWJ5L3J1YnkvcHVsbC81NjUzCgoKCi0t IApodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy8K