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_HI,SPF_HELO_PASS,SPF_PASS, UNPARSEABLE_RELAY 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 9EB381F403 for ; Sat, 8 Oct 2022 08:01:07 +0000 (UTC) Authentication-Results: dcvr.yhbt.net; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=ruby-lang.org header.i=@ruby-lang.org header.b="W1lvwKkG"; dkim-atps=neutral Received: from neon.ruby-lang.org (localhost [IPv6:::1]) by neon.ruby-lang.org (Postfix) with ESMTP id DB7B4120A6D; Sat, 8 Oct 2022 17:01:06 +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 12A7E120A61 for ; Sat, 8 Oct 2022 17:01:03 +0900 (JST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ruby-lang.org; h=from:references:subject:mime-version:content-type: content-transfer-encoding:list-id:to:cc; s=s1; bh=MzGVg+ZySA1OZ7tUgQ71k5/aKjslFr0Z3BUUwTtOKFE=; b=W1lvwKkGc7ur2VpLuwaJqsacQI2oXj/xAmEWQlqwQbI699BGJvUYOgjHpnyQue0Q3KiA F8ApZ5xNpDt7dst9BOOvxebW7Wl5FbA3zOhDm2J8QaP6l+ZHTo4EUkdXjqDHz6mOCxZPs/ l5sEIWZyPNb9sVdbHFxIs/46IcVw5TI6EETQqVHg+ETnSSTheqU24mC58ba0cXsN74ze+Y 934pPO4XRtUKLhso7sTzm0ZwJqZ5n4SGJeD8lQQPq6tX1cEeq5SZxv4vHZ/E5spBU8UaVp e6Jzn58HCU3vOoalOoZDJ5i2AYl/r7DmIBoUN1Zz9f1B+rpsxdIYPDPcO/4+WAew== Received: by filterdrecv-77487f4c77-nngn2 with SMTP id filterdrecv-77487f4c77-nngn2-1-63412E3D-EA 2022-10-08 08:01:01.788377077 +0000 UTC m=+900834.966518970 Received: from herokuapp.com (unknown) by geopod-ismtpd-4-1 (SG) with ESMTP id D5O2dgj6QDC9Rq0NUCrBBg for ; Sat, 08 Oct 2022 08:01:01.643 +0000 (UTC) Date: Sat, 08 Oct 2022 08:01:01 +0000 (UTC) From: "ioquatix (Samuel Williams)" Message-ID: References: Mime-Version: 1.0 X-Redmine-Project: ruby-master X-Redmine-Issue-Tracker: Bug X-Redmine-Issue-Id: 18455 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: 86695 X-SG-EID: =?us-ascii?Q?RXGrw3WrKfUduNFRrzMMcXYHKEABJI9T84jNjq2g6rBTg=2FXhHIicnPoJUXLutJ?= =?us-ascii?Q?tdNFg7BiEDMUtMCwjaLtb0ItKeRyv3NlZm6AYiJ?= =?us-ascii?Q?s0JX4MafLWSYHjARXO1Ihd8fBSp3F5YNYisaPjW?= =?us-ascii?Q?=2FIkR95j2E9oBM6R+4LKm=2FuRnXKFSHQLAj=2FEmfFl?= =?us-ascii?Q?CtlFEpsPViDFioSxt7kRE94DiL3FkphXjZAOo7X?= =?us-ascii?Q?gIa1DWT6+hoQ7noDE=2F5UquaC4GB4o2Qg77wtKe8?= =?us-ascii?Q?b3TXdCOoGX+PXgKlkarpg=3D=3D?= To: ruby-core@neon.ruby-lang.org X-Entity-ID: b/2+PoftWZ6GuOu3b0IycA== X-ML-Name: ruby-core X-Mail-Count: 110237 Subject: [ruby-core:110237] [Ruby master Bug#18455] `IO#close` has poor performance and difficult to understand semantics. 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" SXNzdWUgIzE4NDU1IGhhcyBiZWVuIHVwZGF0ZWQgYnkgaW9xdWF0aXggKFNhbXVlbCBXaWxsaWFt cykuCgoKSSBkaWRuJ3QgcmVhbGlzZSBpdCBidXQgSSBhbHJlYWR5IGZpbGVkIGEgYnVnIGZvciBh IHJhY2UgY29uZGl0aW9uIGluIHRoaXMgYmVoYXZpb3VyIHRvbzogaHR0cHM6Ly9idWdzLnJ1Ynkt bGFuZy5vcmcvaXNzdWVzLzE0NjgxCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCkJ1ZyAjMTg0NTU6IGBJTyNjbG9zZWAgaGFzIHBvb3IgcGVyZm9ybWFuY2UgYW5kIGRp ZmZpY3VsdCB0byB1bmRlcnN0YW5kIHNlbWFudGljcy4KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5v cmcvaXNzdWVzLzE4NDU1I2NoYW5nZS05OTUyMQoKKiBBdXRob3I6IGlvcXVhdGl4IChTYW11ZWwg V2lsbGlhbXMpCiogU3RhdHVzOiBPcGVuCiogUHJpb3JpdHk6IE5vcm1hbAoqIEJhY2twb3J0OiAy LjY6IFVOS05PV04sIDIuNzogVU5LTk9XTiwgMy4wOiBVTktOT1dOLCAzLjE6IFVOS05PV04KLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpgSU8jY2xvc2VgIHNob3VsZCBi ZSByZXNwb25zaWJsZSBmb3IgY2xvc2luZyB0aGUgZmlsZSBkZXNjcmlwdG9yIHJlZmVycmVkIHRv IGJ5IHRoZSBJTyBpbnN0YW5jZS4gV2hlbiBkZWFsaW5nIHdpdGggYnVmZmVyZWQgSU8sIG9uZSBj YW4gYWxzbyBleHBlY3QgdGhpcyB0byBmbHVzaCB0aGUgaW50ZXJuYWwgYnVmZmVycyBpZiBwb3Nz aWJsZS4KCkN1cnJlbnRseSwgYWxsIGJsb2NraW5nIElPIG9wZXJhdGlvbnMgcmVsZWFzZSB0aGUg R1ZMIGFuZCBwZXJmb3JtIHRoZSBibG9ja2luZyBzeXN0ZW0gY2FsbCB1c2luZyBgcmJfdGhyZWFk X2lvX2Jsb2NraW5nX3JlZ2lvbmAuIFRoZSBjdXJyZW50IGltcGxlbWVudGF0aW9uIHRha2VzIGEg ZmlsZSBkZXNjcmlwdG9yIGFuZCBhZGRzIGFuIGVudHJ5IHRvIHRoZSBWTSBnbG9iYWwgYHdhaXRp bmdfZmRzYCBsaXN0LiBXaGVuIHRoZSBvcGVyYXRpb24gaXMgY29tcGxldGVkLCB0aGUgZW50cnkg aXMgcmVtb3ZlZCBmcm9tIGB3YWl0aW5nX2Zkc2AuCgpXaGVuIGNhbGxpbmcgYElPI2Nsb3NlYCwg dGhpcyBsaXN0IGlzIHRyYXZlcnNlZCBhbmQgYW55IHRocmVhZHMgcGVyZm9ybWluZyBibG9ja2lu ZyBvcGVyYXRpb25zIHdpdGggYSBtYXRjaGluZyBmaWxlIGRlc2NyaXB0b3IgYXJlIGludGVycnVw dGVkLiBUaGUgcGVyZm9ybWFuY2Ugb2YgdGhpcyBpcyBPKG51bWJlciBvZiBibG9ja2luZyBJTyBv cGVyYXRpb25zKSB3aGljaCBpbiBwcmFjdGljZSB0aGUgcGVyZm9ybWFuY2Ugb2YgYElPI2Nsb3Nl YCBjYW4gdGFrZSBtaWxsaXNlY29uZHMgd2l0aCAxMCwwMDAgdGhyZWFkcyBwZXJmb3JtaW5nIGJs b2NraW5nIElPLiBUaGlzIHBlcmZvcm1hbmNlIGlzIHVuYWNjZXB0YWJsZS4KCmBgYCBydWJ5CiMh L3Vzci9iaW4vZW52IHJ1YnkKCnJlcXVpcmUgJ2JlbmNobWFyaycKCmNsYXNzIFJlYWRpbmcKICBk ZWYgaW5pdGlhbGl6ZQogICAgQHIsIEB3ID0gSU8ucGlwZQoKICAgIEB0aHJlYWQgPSBUaHJlYWQu bmV3IGRvCiAgICAgIEByLnJlYWQKICAgIHJlc2N1ZSBJT0Vycm9yCiAgICAgICMgSWdub3JlLgog ICAgZW5kCiAgZW5kCgogIGF0dHIgOnIKICBhdHRyIDp3CgogIGF0dHIgOnRocmVhZAoKICBkZWYg am9pbgogICAgQHRocmVhZC5qb2luCiAgZW5kCmVuZAoKZGVmIG1lYXN1cmUoY291bnQgPSAxMCkK ICByZWFkaW5ncyA9IGNvdW50LnRpbWVzLm1hcCBkbwogICAgUmVhZGluZy5uZXcKICBlbmQKCiAg c2xlZXAgMTAKCiAgZHVyYXRpb24gPSBCZW5jaG1hcmsubWVhc3VyZSBkbwogICAgcmVhZGluZ3Mu ZWFjaCBkbyB8cmVhZGluZ3wKICAgICAgcmVhZGluZy5yLmNsb3NlCiAgICAgIHJlYWRpbmcudy5j bG9zZQogICAgZW5kCiAgZW5kCgogIGF2ZXJhZ2UgPSAoZHVyYXRpb24udG90YWwgLyBjb3VudCkg KiAxMDAwLjAKICBwcCBjb3VudDogY291bnQsIGF2ZXJhZ2U6IHNwcmludGYoIiUwLjJmbXMiLCBh dmVyYWdlKQoKICByZWFkaW5ncy5lYWNoKCY6am9pbikKZW5kCgptZWFzdXJlKCAgIDEwKQptZWFz dXJlKCAgMTAwKQptZWFzdXJlKCAxMDAwKQptZWFzdXJlKDEwMDAwKQpgYGAKCkluIGFkZGl0aW9u LCB0aGUgc2VtYW50aWNzIG9mIHRoaXMgb3BlcmF0aW9uIGFyZSBjb25mdXNpbmcgYXQgYmVzdC4g V2hpbGUgUnVieSBwcm9ncmFtcyBhcmUgZGVhbGluZyB3aXRoIElPIGluc3RhbmNlcywgdGhlIFZN IGlzIGRlYWxpbmcgd2l0aCBmaWxlIGRlc2NyaXB0b3JzLCBpbiBlZmZlY3QgcGVyZm9ybWluZyBz b21lIGludGVybmFsIGRlLWR1cGxpY2F0aW9uIG9mIElPIHN0YXRlLiBJbiBwcmFjdGljZSwgdGhp cyBsZWFkcyB0byBzdHJhbmdlIGJlaGF2aW91cjoKCmBgYCBydWJ5CiMhL3Vzci9iaW4vZW52IHJ1 YnkKCnIsIHcgPSBJTy5waXBlCnIyID0gSU8uZm9yX2ZkKHIudG9faSkKcHAgcjogciwgcjI6IHIy Cgp0ID0gVGhyZWFkLm5ldyBkbwogIHIyLnJlYWQgcmVzY3VlIG5pbAogIHIyLnJlYWQgIyBFQkFE RgplbmQKCnNsZWVwIDAuNQpyLmNsb3NlCnQuam9pbiByZXNjdWUgbmlsCgpwcCByOiByLCByMjog cjIKIyByIGlzIGNsb3NlZCwgcjIgaXMgdmFsaWQgYnV0IHdpbGwgcmFpc2UgRUJBREYgb24gYW55 IG9wZXJhdGlvbi4KYGBgCgpJbiBhZGRpdGlvbiwgdGhpcyBjb25mdXNpbmcgYmVoYXZpb3VyIGV4 dGVuZHMgdG8gUmFjdG9yIGFuZCBzdGF0ZSBpcyBsZWFrZWQgYmV0d2VlbiB0aGUgdHdvOgoKYGBg IHJ1YnkKciwgdyA9IElPLnBpcGUKCnJhY3RvciA9IFJhY3Rvci5uZXcoci50b19pKSBkbyB8ZmR8 CiAgcjIgPSBJTy5mb3JfZmQoZmQpCiAgcjIucmVhZAogICMgcjIucmVhZCAjIEVCQURGCmVuZAoK c2xlZXAgMC41CnIuY2xvc2UKCnBwIHRha2U6IHJhY3Rvci50YWtlCmBgYAoKSSBwcm9wb3NlIHRo ZSBmb2xsb3dpbmcgY2hhbmdlcyB0byBzaW1wbGlmeSB0aGUgc2VtYW50aWNzIGFuZCBpbXByb3Zl IHBlcmZvcm1hbmNlOgoKLSBNb3ZlIHRoZSBzZW1hbnRpY3Mgb2YgYHdhaXRpbmdfZmRzYCBmcm9t IHBlci1mZCB0byBwZXItSU8uIFRoaXMgbWVhbnMgdGhhdCBgSU8jY2xvc2VgIG9ubHkgaW50ZXJy dXB0cyBibG9ja2luZyBvcGVyYXRpb25zIHBlcmZvcm1lZCBvbiB0aGUgc2FtZSBJTyBpbnN0YW5j ZSByYXRoZXIgdGhhbiBBTlkgSU8gd2hpY2ggcmVmZXJzIHRvIHRoZSBzYW1lIGZpbGUgZGVzY3Jp cHRvci4gSSB0aGluayB0aGlzIGJlaGF2aW91ciBpcyBlYXNpZXIgdG8gdW5kZXJzdGFuZCBhbmQg c3RpbGwgcHJvdGVjdHMgYWdhaW5zdCB0aGUgdmFzdCBtYWpvcml0eSBvZiBpbmNvcnJlY3QgdXNh Z2UuCi0gTW92ZSB0aGUgZGV0YWlscyBvZiBgc3RydWN0IHJiX2lvX3RgIHRvIGBpbnRlcm5hbC9p by5oYCBzbyB0aGF0IHRoZSBpbXBsZW1lbnRhdGlvbiBkZXRhaWxzIGFyZSBub3QgcGFydCBvZiB0 aGUgcHVibGljIGludGVyZmFjZS4KCiMjIEJlbmNobWFya3MKCkJlZm9yZToKCmBgYAp7OmNvdW50 PT4xMCwgOmF2ZXJhZ2U9PiIwLjE5bXMifQp7OmNvdW50PT4xMDAsIDphdmVyYWdlPT4iMC4xMW1z In0Kezpjb3VudD0+MTAwMCwgOmF2ZXJhZ2U9PiIwLjE4bXMifQp7OmNvdW50PT4xMDAwMCwgOmF2 ZXJhZ2U9PiIxLjE2bXMifQpgYGAKCkFmdGVyOgoKYGBgCns6Y291bnQ9PjEwLCA6YXZlcmFnZT0+ IjAuMjBtcyJ9Cns6Y291bnQ9PjEwMCwgOmF2ZXJhZ2U9PiIwLjExbXMifQp7OmNvdW50PT4xMDAw LCA6YXZlcmFnZT0+IjAuMTVtcyJ9Cns6Y291bnQ9PjEwMDAwLCA6YXZlcmFnZT0+IjAuNjhtcyJ9 CmBgYAoKQWZ0ZXIgaW52ZXN0aWdhdGluZyB0aGlzIGZ1cnRoZXIgSSBmb3VuZCB0aGF0IHRoZSBg cmJfdGhyZWFkX2lvX2Jsb2NraW5nX3JlZ2lvbmAgdXNpbmcgYHViZl9zZWxlY3RgIGNhbiBiZSBp bmNyZWRpYmx5IHNsb3csIHByb3BvcnRpb25hbCB0byB0aGUgbnVtYmVyIG9mIHRocmVhZHMuIEkg ZG9uJ3Qga25vdyB3aGV0aGVyIGl0J3MgYWR2aXNhYmxlIGJ1dDoKCmBgYCBjCiAgICAgICAgQkxP Q0tJTkdfUkVHSU9OKGJsb2NraW5nX25vZGUudGhyZWFkLCB7CiAgICAgICAgICAgIHZhbCA9IGZ1 bmMoZGF0YTEpOwogICAgICAgICAgICBzYXZlZF9lcnJubyA9IGVycm5vOwogICAgICAgIH0sIE5V TEwgLyogdWJmX3NlbGVjdCAqLywgYmxvY2tpbmdfbm9kZS50aHJlYWQsIEZBTFNFKTsKYGBgCgpE aXNhYmxpbmcgdGhlIFVCRiBmdW5jdGlvbiBhbmQgcmVseWluZyBvbiBgcmVhZChmZCwgLi4uKWAv YHdyaXRlKGZkLCAuLi4pYCBibG9ja2luZyBvcGVyYXRpb25zIHRvIGZhaWwgd2hlbiBgY2xvc2Uo ZmQpYCBpcyBpbnZva2VkIG1pZ2h0IGJlIHN1ZmZpY2llbnQ/IFRoaXMgbmVlZHMgbW9yZSBpbnZl c3RpZ2F0aW9uIGJ1dCBhZnRlciBtYWtpbmcgdGhpcyBjaGFuZ2UsIHdlIGhhdmUgY29uc3RhbnQt dGltZSBJTyNjbG9zZS4KCmBgYAp7OmNvdW50PT4xMCwgOmF2ZXJhZ2U9PiIwLjEzbXMifQp7OmNv dW50PT4xMDAsIDphdmVyYWdlPT4iMC4wNm1zIn0Kezpjb3VudD0+MTAwMCwgOmF2ZXJhZ2U9PiIw LjA0bXMifQp7OmNvdW50PT4xMDAwMCwgOmF2ZXJhZ2U9PiIwLjA5bXMifQpgYGAKCldoaWNoIGlz IGlkZWFsbHkgd2hhdCB3ZSB3YW50LgoKCgotLSAKaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcv Cg==