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 E04D41F4CE for ; Thu, 31 Mar 2022 10:58:26 +0000 (UTC) Received: from neon.ruby-lang.org (localhost [IPv6:::1]) by neon.ruby-lang.org (Postfix) with ESMTP id B5D44120BF3; Thu, 31 Mar 2022 19:58:24 +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 673DE120BEA for ; Thu, 31 Mar 2022 19:58:22 +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=CVd/DNTFp4iAr+J/8Y3wU0UBvDNZ2aZHFrswoMbJisQ=; b=FQrMW5DASWy+ldpWTmWDH+NwFY4S1R70x0nlPxoKcPkKDx3DTdBkfyfqDRM9F46G4cUp EyYapeb+NfscrMts83XooX7GwaLGEE8J09ygAs6j/bl056WGPYr05sz7+WLl4jvE4b6hwC 4Em/+rRg1sd9sA/NQR5aRvMFwjLfYbaa8= Received: by filterdrecv-7bc86b958d-ctgkz with SMTP id filterdrecv-7bc86b958d-ctgkz-1-6245894C-24 2022-03-31 10:58:20.586835185 +0000 UTC m=+18189481.077842188 Received: from herokuapp.com (unknown) by geopod-ismtpd-1-1 (SG) with ESMTP id 2YbOv51QTVWJYfNPKLaApQ for ; Thu, 31 Mar 2022 10:58:20.502 +0000 (UTC) Date: Thu, 31 Mar 2022 10:58:20 +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: 18630 X-Redmine-Issue-Author: ioquatix 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: 84470 X-SG-EID: =?us-ascii?Q?DvL3W2Xo+Vk=2FeUn3F50L=2FNc8u9NqZCnbE0mXZHiyye4R1YZg=2FtAFc0SAFzpcS=2F?= =?us-ascii?Q?Zcr7BqPN=2FYCcMZBMITNeIci9STxYay0JAJWPbek?= =?us-ascii?Q?rFR+qUU4mu8LpRDw2ln+AGpFaZ+GYYGOybQZUUD?= =?us-ascii?Q?D1JMBaxuSm1g+EUNPMNch4=2FGHKX4SguH3AnLKoJ?= =?us-ascii?Q?MVwS+8SB+l5yyepIPa52KkXOUfAfpR2nC5f3cEa?= =?us-ascii?Q?8cwKX1QH+E51hIbjMG93Qn7Pa2fhu2AenpqXN6o?= =?us-ascii?Q?Df2IxvYndR+JFrEKT=2FsxA=3D=3D?= To: ruby-core@ruby-lang.org X-Entity-ID: b/2+PoftWZ6GuOu3b0IycA== X-ML-Name: ruby-core X-Mail-Count: 108136 Subject: [ruby-core:108136] [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" SXNzdWUgIzE4NjMwIGhhcyBiZWVuIHVwZGF0ZWQgYnkgRXJlZ29uIChCZW5vaXQgRGFsb3plKS4K Cgppb3F1YXRpeCAoU2FtdWVsIFdpbGxpYW1zKSB3cm90ZSBpbiAjbm90ZS0xNToKPiBAZXJlZ29u IGl0IG1ha2VzIHNlbnNlIHRvIG1lIHRvIGludHJvZHVjZSBgSU86OlRpbWVvdXRgIG9yIGBJTzo6 VGltZW91dEVycm9yYCAobm90IHN1cmUgdGltZW91dCBpcyBzdHJpY3RseSBhbiBlcnJvcj8pLgoK QmFzaWNhbGx5IGFsbCBleGNlcHRpb24gY2xhc3NlcyBlbmQgd2l0aCBgRXhjZXB0aW9uYCBvciBg RXJyb3JgIG9yIHNvbWUgb3RoZXIgaW5kaWNhdGlvbiBvZiBpdCAoc2VlIGByaSBFeGNlcHRpb25g KS4KU28gSSB0aGluayBgSU86OlRpbWVvdXRgIGlzIG5vdCBhIGdvb2QgZml0LCBiZWNhdXNlIGZy b20gdGhlIG5hbWUgaXQncyB1bmNsZWFyIGl0J3MgYW4gZXhjZXB0aW9uIGNsYXNzLgpBbmQgdGhl IG90aGVyIHR3byB0aW1lb3V0IGV4Y2VwdGlvbiBjbGFzc2VzIGhhdmUgYFRpbWVvdXRgICsgYEVy cm9yYCBpbiB0aGVpciBmdWxsIG5hbWUsIHNvIGBJTzo6VGltZW91dEVycm9yYCBzZWVtcyBhbiBv YnZpb3VzIGZpdC4KCmBFVElNRURPVVRgIGlzIG5vdCBlLmcuIGluIHJlYWQvc2VsZWN0L2Vwb2xs X3dhaXQvLi4uIG1hbiBwYWdlcyBhcyBmYXIgYXMgSSBjYW4gc2VlIGxvY2FsbHkgYW5kIEkgZG9u J3QgZXZlbiBzZWUgaXQgaW4gdGhlIG15IGxvY2FsIGByZWN2YCBtYW4gcGFnZS4KSXQgc2VlbXMg c3BlY2lmaWMgdG8gc29ja2V0IGNvbm5lY3Rpb25zLCBidXQgdGhlIHRpbWVvdXQgd2UgYXJlIHRh bGtpbmcgYWJvdXQgaXMgbW9yZSBnZW5lcmFsIChlLmcuLCBhcHBsaWVzIHRvIHBpcGVzKS4KSSB0 aGluayBgRVRJTUVET1VUYCBpcyBhIGJhZCBmaXQsIGJlY2F1c2UgaXQgaXMgKm5vdCogd2hhdCBp cyBhY3R1YWxseSByZXR1cm5lZCBieSB0aGUgc3lzY2FsbHMgdG8gd2hpY2ggd2UgYXBwbHkgdGhl IHRpbWVvdXQsIGlzbid0IGl0PwpBbHNvIEknZCBjb25zaWRlciBgRXJybm86OkUqYCB0byBiZSBs b3ctbGV2ZWwgZXhjZXB0aW9ucywgYW5kIG5vdCBzb21ldGhpbmcgd2UnZCB3YW50IGZvciBoaWdo ZXItbGV2ZWwgZnVuY3Rpb25hbGl0eS4KCj4gRm9yIG1lLCB0aGUgYmlnZ2VzdCByZWFzb24gdG8g dXNlIGEgZGlmZmVyZW50IGNsYXNzIHdvdWxkIGJlIGJlY2F1c2Ugd2Ugd2FudCBhIG1vcmUgY29u c2lzdGVudCBoYW5kbGluZyBvZiB0aW1lb3V0cywgYWNyb3NzIGFsbCBibG9ja2luZyBvcGVyYXRp b25zIChub3QganVzdCBJTyBvbmVzKS4gCgpJZiB0aGF0IGlzIHVzZWZ1bCAoc28gZmFyIGl0IHNl ZW1zIG5vdCB0byBtZSksIHRoYXQgY291bGQgYWx3YXlzIGJlIGRvbmUgYnkgYSBtb2R1bGUgaW5j bHVkZWQgYnkgYWxsIHRpbWVvdXQgZXhjZXB0aW9uIGNsYXNzZXMuCgo+IEkgaGVzaXRhdGUgdG8g bWFrZSB0aGlzIDwgU3RhbmRhcmRFcnJvciBhcyBJIGZlZWwgdGhhdCB0aW1lb3V0cyBhcmUgb2Z0 ZW4gbm90IHN0cmljdGx5ICJlcnJvcnMiIGFsdGhvdWdoIGEgdGltZW91dCBjYW4gY2F1c2UgYW4g ZXJyb3IuCgpgU3RhbmRhcmRFcnJvcmAgaXMgbm90IGFib3V0IGJlaW5nICJhbiBlcnJvciIgb3Ig bm90ICh0aGF0J3MganVzdCBjb25zaXN0ZW50IG5hbWluZyBmb3IgZXhjZXB0aW9uIGNsYXNzZXMp LCBpdCdzIHdoZXRoZXIgaXQncyBzb21ldGhpbmcgdGhhdCBpcyBzZW5zaWJsZSB0byByZXNjdWUg ImFzIGEgZ2VuZXJhbCBmYWlsdXJlIiAvIHRvIHJlY292ZXIgZnJvbSBvciBub3QuCkl0IGlzIHNl bnNpYmxlIHRvIHJlc2N1ZSBgSU86OlRpbWVvdXRFcnJvcmAgYXMgYSBnZW5lcmFsICJzb21ldGhp bmcgZmFpbGVkIGR1cmluZyB0aGUgb3BlcmF0aW9uIiAoYXQgbGVhc3QgaW4gc29tZSBjYXNlcykg YW5kIGtlZXAgZ29pbmcsCndoaWxlIGl0IGlzIGUuZy4gbmV2ZXIgKG9yIGFsbW9zdCBuZXZlcikg c2Vuc2libGUgdG8gcmVzY3VlICh3aXRob3V0IHJlcmFpc2luZyB0aGVtKSBgTm9NZW1vcnlFcnJv cmAvYFN5c3RlbVN0YWNrRXJyb3JgLgoKPiBNYXliZSB3ZSBzaG91bGQgaGF2ZTogYGNsYXNzIFRp bWVvdXRFcnJvcmAKClRoYXQncyBhIGRlcHJlY2F0ZWQgYWxpYXMgZm9yIFRpbWVvdXQ6OkVycm9y OgpgYGAKJCBydWJ5IC13IC1ydGltZW91dCAtZSAncCBUaW1lb3V0RXJyb3InCi1lOjE6IHdhcm5p bmc6IGNvbnN0YW50IDo6VGltZW91dEVycm9yIGlzIGRlcHJlY2F0ZWQKVGltZW91dDo6RXJyb3IK YGBgCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkZlYXR1cmUgIzE4 NjMwOiBJbnRyb2R1Y2UgZ2VuZXJhbCBgSU8jdGltZW91dGAgYW5kIGBJTyN0aW1lb3V0PWBmb3Ig YWxsIChub24tKWJsb2NraW5nIG9wZXJhdGlvbnMuCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3Jn L2lzc3Vlcy8xODYzMCNjaGFuZ2UtOTcxMTIKCiogQXV0aG9yOiBpb3F1YXRpeCAoU2FtdWVsIFdp bGxpYW1zKQoqIFN0YXR1czogT3BlbgoqIFByaW9yaXR5OiBOb3JtYWwKLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpJIHdvdWxkIGxpa2UgdXMgdG8gY29uc2lkZXIgaW50 cm9kdWNpbmcgYSBnZW5lcmFsIElPIHRpbWVvdXQgZm9yIGFsbCAobm9uLSlibG9ja2luZyBvcGVy YXRpb25zLCBzcGVjaWZpZWQgcGVyLUlPIGluc3RhbmNlLiBJdCdzIHVzZWZ1bCBmb3IgZW5zdXJp bmcgcHJvZ3JhbXMgZG9uJ3Qgc3RvcCByZXNwb25kaW5nIG9yIHNwZW5kIGFuIHVucmVhc29uYWJs ZSBhbW91bnQgb2YgdGltZSB3YWl0aW5nIGZvciBJTyBvcGVyYXRpb25zLgoKVGhlcmUgYXJlIGVm ZmVjdGl2ZWx5IHR3byBraW5kcyBvZiBpbnRlcmZhY2VzIHRoYXQgd2UgbmVlZCB0byBhZGRyZXNz OgoKLSBUaG9zZSB0aGF0IGFscmVhZHkgaGF2ZSBhIHRpbWVvdXQgYXJndW1lbnQgKGUuZy4gYHdh aXRfcmVhZGFibGVgKSBhbmQgd2UgZm9sbG93IHRoZSBleGlzdGluZyBzZW1hbnRpY3MuCi0gVGhv c2UgdGhhdCBkb24ndCBoYXZlIGEgdGltZW91dCBhcmd1bWVudCBvciB0aW1lb3V0IHNlbWFudGlj cyAoZS5nLiBgcHV0c2AsIGBnZXRzYCksIGFuZCB0aHVzIHByb2JhYmx5IG5lZWQgdG8gcmFpc2Ug YW4gZXhjZXB0aW9uIG9uIHRpbWVvdXQuCgpXZSBoYXZlIHRocmVlIHBvc3NpYmxlIGtpbmRzIG9m IGV4Y2VwdGlvbnMgd2UgY291bGQgcmFpc2U6CgotIGBFcnJubzo6RVRJTUVET1VUYAotIGBUaW1l b3V0OjpFcnJvcmAgKGZyb20gYHRpbWVvdXQucmJgKQotIEludHJvZHVjZSBgSU86OlRpbWVvdXRg IG9yIHNvbWV0aGluZyBzaW1pbGFyLgoKVGltZW91dCBpc24ndCBuZWNlc3NhcmlseSBhbiBlcnJv ciBjb25kaXRpb24uIFRoZXJlIGFyZSBkaWZmZXJlbnQgYXJndW1lbnRzIGZvciB3aGV0aGVyIHdl IHNob3VsZCBkZWZpbmU6CgpgYGBydWJ5CmNsYXNzIElPOjpUaW1lb3V0IDwgRXhjZXB0aW9uCmVu ZAoKIyBvcgoKY2xhc3MgSU86OlRpbWVvdXQgPCBTdGFuZGFyZEVycm9yCmVuZApgYGAKCkkgYmVs aWV2ZSB0aGUgbGF0dGVyIChgU3RhbmRhcmRFcnJvcmApIGlzIG1vcmUgcHJhY3RpY2FsIGJ1dCBJ J20gb3BlbiB0byBlaXRoZXIgb3B0aW9uLiBJIG1pZ2h0IGhhdmUgbW9yZSBzcGVjaWZpYyBhcmd1 bWVudHMgbGF0ZXIgd2h5IG9uZSBpcyBiZXR0ZXIgdGhhbiB0aGUgb3RoZXIgYWZ0ZXIgdGVzdGlu ZyBpbiBhIHByYWN0aWNhbCBzeXN0ZW0uCgpUaGVyZSBpcyBhbHJlYWR5IGEgUFIgdG8gdHJ5IGl0 IG91dDogaHR0cHM6Ly9naXRodWIuY29tL3J1YnkvcnVieS9wdWxsLzU2NTMKCgoKLS0gCmh0dHBz Oi8vYnVncy5ydWJ5LWxhbmcub3JnLwo=