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.0 required=3.0 tests=AWL,BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_BL_SPAMCOP_NET, RCVD_IN_DNSWL_MED,SPF_HELO_PASS,SPF_PASS,UNPARSEABLE_RELAY 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 435C21F910 for ; Tue, 22 Nov 2022 05:10:18 +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="GGM2fpdB"; dkim-atps=neutral Received: from neon.ruby-lang.org (localhost [IPv6:::1]) by neon.ruby-lang.org (Postfix) with ESMTP id 88D14120D20; Tue, 22 Nov 2022 14:10:12 +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 D7521120D17 for ; Tue, 22 Nov 2022 14:10:09 +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=IZKdnGvE4YqjBxYqB7cWV3efq5NJ4+EAd/U/Va94+vo=; b=GGM2fpdB0u6vqb9LstqiAsOa5yctYQIhX7m17fb/TMlpmYi5AyPyuc/tTr23uNHuPiEb lddEF/XV6bv9ZvWmTSozqmc5dHNak8SNj8RmDsWE4uRu0IV4ToMez08OGHh73Iq91B4Xet aZu8BWdt6uY4NSPUb9vedQbAbx2tzYxsguCX1wgsMPW+FzMlrzRLUf5PcTqSSSQgJm5wO0 n0Dz30WZ5hzxxJqxN9kru9U2E7DGU3ci4A0nuZUaHnXGL+Eyg/xeUnDJ2lUU6ViGw8OeZC Hqnxhgk10UMiNR/oHCXo4zLbHUlzDhaRkaOXrjUzhISCd/vdhu4NOPckTMOURR9w== Received: by filterdrecv-69c5db5cf4-hqnpt with SMTP id filterdrecv-69c5db5cf4-hqnpt-1-637C59AF-16 2022-11-22 05:10:07.756773323 +0000 UTC m=+367322.976142174 Received: from herokuapp.com (unknown) by geopod-ismtpd-4-0 (SG) with ESMTP id B5MzmONWS1SerioTHmSqug for ; Tue, 22 Nov 2022 05:10:07.639 +0000 (UTC) Date: Tue, 22 Nov 2022 05:10:07 +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: 19141 X-Redmine-Issue-Author: wildmaples 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: 87309 X-SG-EID: =?us-ascii?Q?RXGrw3WrKfUduNFRrzMMcXYHKEABJI9T84jNjq2g6rBTg=2FXhHIicnPoJUXLutJ?= =?us-ascii?Q?tdNFg7BiEDMUtMCwjaLtb0ItKeRyv3NlZm6AYiJ?= =?us-ascii?Q?s0JX4MMM+wvCO1n5FvXkPf82hGOtgOh9D+cBPOC?= =?us-ascii?Q?Cz4MhwQjJbKgho+R1n9gO4AeDFYtklDLovsL357?= =?us-ascii?Q?duWbBy7glbVlCgUBbbbLaEe5tR07ZHdiHvgogjg?= =?us-ascii?Q?Gq7c5ufKKqlHq3Jrhu=2F69wwXqNvrJNEFHqrKu1D?= =?us-ascii?Q?TTn7s0zVcPyxV8WGzji9g=3D=3D?= To: ruby-core@neon.ruby-lang.org X-Entity-ID: b/2+PoftWZ6GuOu3b0IycA== X-ML-Name: ruby-core X-Mail-Count: 110849 Subject: [ruby-core:110849] [Ruby master Feature#19141] Add thread-owned Monitor to protect thread-local resources 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" SXNzdWUgIzE5MTQxIGhhcyBiZWVuIHVwZGF0ZWQgYnkgaW9xdWF0aXggKFNhbXVlbCBXaWxsaWFt cykuCgoKV2h5IGRvIHlvdSBuZWVkIGEgcmVjdXJzaXZlIG11dGV4IGZvciB0aGlzIGNvZGU/IFdo eSBub3QganVzdCBsb2NrIGluc2lkZSB0aGUgZW51bWVyYXRvciBhcm91bmQgd2hhdGV2ZXIgc2hh cmVkIHJlc291cmNlIHlvdSBhcmUgcHJvdGVjdGluZz8KCmh0dHA6Ly93d3cuemF2YWwub3JnL3Jl c291cmNlcy9saWJyYXJ5L2J1dGVuaG9mMS5odG1sCgo+IDEpIFRoZSBiaWdnZXN0IG9mIGFsbCB0 aGUgYmlnIHByb2JsZW1zIHdpdGggcmVjdXJzaXZlIG11dGV4ZXMgaXMgdGhhdCAKdGhleSBlbmNv dXJhZ2UgeW91IHRvIGNvbXBsZXRlbHkgbG9zZSB0cmFjayBvZiB5b3VyIGxvY2tpbmcgc2NoZW1l IGFuZCAKc2NvcGUuIFRoaXMgaXMgZGVhZGx5LiBFdmlsLiBJdCdzIHRoZSAidGhyZWFkIGVhdGVy Ii4gWW91IGhvbGQgbG9ja3MgZm9yIAp0aGUgYWJzb2x1dGVseSBzaG9ydGVzdCBwb3NzaWJsZSB0 aW1lLiBQZXJpb2QuIEFsd2F5cy4gSWYgeW91J3JlIGNhbGxpbmcgCnNvbWV0aGluZyB3aXRoIGEg bG9jayBoZWxkIHNpbXBseSBiZWNhdXNlIHlvdSBkb24ndCBrbm93IGl0J3MgaGVsZCwgb3IgCmJl Y2F1c2UgeW91IGRvbid0IGtub3cgd2hldGhlciB0aGUgY2FsbGVlIG5lZWRzIHRoZSBtdXRleCwg dGhlbiB5b3UncmUgCmhvbGRpbmcgaXQgdG9vIGxvbmcuIFlvdSdyZSBhaW1pbmcgYSBzaG90Z3Vu IGF0IHlvdXIgYXBwbGljYXRpb24gYW5kIApwdWxsaW5nIHRoZSB0cmlnZ2VyLiBZb3UgcHJlc3Vt YWJseSBzdGFydGVkIHVzaW5nIHRocmVhZHMgdG8gZ2V0IApjb25jdXJyZW5jeTsgYnV0IHlvdSd2 ZSBqdXN0IFBSRVZFTlRFRCBjb25jdXJyZW5jeS4gCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCkZlYXR1cmUgIzE5MTQxOiBBZGQgdGhyZWFkLW93bmVkIE1vbml0b3Ig dG8gcHJvdGVjdCB0aHJlYWQtbG9jYWwgcmVzb3VyY2VzCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcu b3JnL2lzc3Vlcy8xOTE0MSNjaGFuZ2UtMTAwMjA3CgoqIEF1dGhvcjogd2lsZG1hcGxlcyAoTWFw bGUgT25nKQoqIFN0YXR1czogT3BlbgoqIFByaW9yaXR5OiBOb3JtYWwKLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIyMgQmFja2dyb3VuZCAKCkluIFJ1YnkgdjMuMC4y LCBNb25pdG9yIHdhcyBtb2RpZmllZCB0byBiZSBvd25lZCBieSBmaWJlcnMgaW5zdGVhZCBvZiB0 aHJlYWRzIFtmb3IgcmVhc29ucyBhcyBkZXNjcmliZWQgaW4gdGhpcyBpc3N1ZV0oaHR0cHM6Ly9i dWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzE3ODI3KSBhbmQgc28gaXQgaXMgYWxzbyBjb25zaXN0 ZW50IHdpdGggTXV0ZXguIEJlZm9yZSB0aGUgY2hhbmdlIHRvIE1vbml0b3IsIE11dGV4IHdhcyBt b2RpZmllZCB0byBwZXItZmliZXIgaW5zdGVhZCBvZiB0aHJlYWQgKFtpc3N1ZV0oaHR0cHM6Ly9i dWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzE2NzkyKSwgW1BSXShodHRwczovL2dpdGh1Yi5jb20v cnVieS9ydWJ5L2NvbW1pdC8xNzhjMWIwOTIyZGM3Mjc4OTdkODFkN2NmZTljOTdkNWZmYTk3ZmQ5 KSkgd2hpY2ggY2F1c2VkIHNvbWUgcHJvYmxlbXMgKFNlZTogW2NvbW1lbnRdKGh0dHBzOi8vYnVn cy5ydWJ5LWxhbmcub3JnL2lzc3Vlcy8xNzgyNyNub3RlLTEpKS4gIAoKIyMjIFByb2JsZW0KCldl IGFyZSBub3cgZW5jb3VudGVyaW5nIGEgcHJvYmxlbSB3aGVyZSB1c2luZyBFbnVtZXJhdG9yIChp bXBsZW1lbnRlZCB0cmFuc3BhcmVudGx5IHVzaW5nIEZpYmVyLCBzbyB0aGUgdXNlciBpcyBub3Qg YXdhcmUpIHdpdGhpbiBhIEZpYmVyLW93bmVkIHByb2Nlc3MsIHdoaWNoIGNhdXNlcyBhIGRlYWRs b2NrLiBUaGF0IG1lYW5zIGFueSBmcmFtZXdvcmsgdXNpbmcgTW9uaXRvciBpcyBpbmNvbXBhdGli bGUgdG8gYmUgdXNlZCB3aXRoIEVudW1lcmF0b3IuIAoKSW4gZ2VuZXJhbCwgdGhlcmUgYXJlIG1h bnkgdHlwZXMgb2YgdGhyZWFkLWxvY2FsIHJlc291cmNlcyAoY29ubmVjdGlvbnMgZm9yIGV4YW1w bGUpLCBzbyBpdCB3b3VsZCBtYWtlIHNlbnNlIHRvIGhhdmUgYSB0aHJlYWQtb3duZWQgbW9uaXRv ciB0byBwcm90ZWN0IHRoZW0uIEkgdGhpbmsgZmV3IHJlc291cmNlcyBhcmUgcmVhbGx5IGZpYmVy LW93bmVkLgoKIyMjIyBTcGVjaWZpY3MgCiogQ29uY3VycmVudCBSdWJ5IGlzIHN0aWxsIGRlc2ln bmVkIHdpdGggcGVyLXRocmVhZCBsb2NraW5nLCB3aGljaCBjYXVzZXMgc2ltaWxhciBpbmNvbXBh dGliaWxpdGllcy4gKFJlYWQ6IFtpc3N1ZV0oaHR0cHM6Ly9naXRodWIuY29tL3J1YnktY29uY3Vy cmVuY3kvY29uY3VycmVudC1ydWJ5L2lzc3Vlcy85NjIpKQoqIFN5c3RlbXMgdGVzdCBpbiBSYWls cyBpbXBsZW1lbnRzIGxvY2tpbmcgdXNpbmcgTW9uaXRvciwgcmVzdWx0aW5nIGluIGRlYWRsb2Nr IGluIHRoZXNlIGtub3duIGNhc2VzOgogICogd2hlbiBjYWNoZSBjbGVhcmluZyAoUmVhZDogW2lz c3VlXShodHRwczovL2dpdGh1Yi5jb20vcmFpbHMvcmFpbHMvaXNzdWVzLzQ1OTk0KSkKICAqIGRh dGFiYXNlIHRyYW5zYWN0aW9ucyB3aGVuIHVzZWQgd2l0aCBFbnVtZXJhdG9yIChSZWFkOiBbY29t bWVudF0oaHR0cHM6Ly9naXRodWIuY29tL3JhaWxzL3JhaWxzL2lzc3Vlcy80NTk5NCNpc3N1ZWNv bW1lbnQtMTMwNDMwNjU3NSkpIAoKIyMjIERlbW8KCmBgYHJ1YnkKIyBydWJ5IDIuNy42cDIxOSAo MjAyMi0wNC0xMiByZXZpc2lvbiBjOWMyMjQ1YzBhKSBbYXJtNjQtZGFyd2luMjFdCiMgVGhyZWFk ICM8VGhyZWFkOjB4MDAwMDAwMDE0YThlYjIyOCBkZW1vLnJiOjggcnVuPiwgZmliZXIgIzxGaWJl cjoweDAwMDAwMDAxNGE4ZWFmODAgKHJlc3VtZWQpPiwgbG9ja2VkIHRydWUsIG93bmVkIHRydWUK IyBUaHJlYWQgIzxUaHJlYWQ6MHgwMDAwMDAwMTRhOGViMjI4IGRlbW8ucmI6OCBydW4+LCBmaWJl ciAjPEZpYmVyOjB4MDAwMDAwMDE0YThlYWNiMCBkZW1vLnJiOjEzIChyZXN1bWVkKT4sIGxvY2tl ZCB0cnVlLCBvd25lZCB0cnVlCgojIHJ1YnkgMy4xLjJwMjAgKDIwMjItMDQtMTIgcmV2aXNpb24g NDQ5MWJiNzQwYSkgW2FybTY0LWRhcndpbjIxXQojIFRocmVhZCAjPFRocmVhZDoweDAwMDAwMDAx MDIzMjlhMDggZGVtby5yYjo4IHJ1bj4sIGZpYmVyICM8RmliZXI6MHgwMDAwMDAwMTAyMzI5ODI4 IChyZXN1bWVkKT4sIGxvY2tlZCB0cnVlLCBvd25lZCB0cnVlCiMgVGhyZWFkICM8VGhyZWFkOjB4 MDAwMDAwMDEwMjMyOWEwOCBkZW1vLnJiOjggcnVuPiwgZmliZXIgIzxGaWJlcjoweDAwMDAwMDAx MDIzMjk0ZTAgZGVtby5yYjoxMyAocmVzdW1lZCk+LCBsb2NrZWQgdHJ1ZSwgb3duZWQgZmFsc2UK CnJlcXVpcmUgJ2ZpYmVyJwpyZXF1aXJlICdtb25pdG9yJwoKcHV0cyBSVUJZX0RFU0NSSVBUSU9O CgojIFdlIGhhdmUgYSBzaW5nbGUgbW9uaXRvciAtIHdlJ3JlIHByZXRlbmRpbmcgaXQgcHJvdGVj dHMgc29tZSB0aHJlYWQtbG9jYWwgcmVzb3VyY2VzCm0gPSBNb25pdG9yLm5ldwoKIyBXZSdsbCBj cmVhdGUgYW4gZXhwbGljaXQgdGhyZWFkCnQgPSBUaHJlYWQubmV3IGRvCiAgIyBMb2NrIHRvIHBy b3RlY3Qgb3VyIHRocmVhZC1sb2NhbCByZXNvdXJjZQogIG0uZW50ZXIKCiAgcHV0cyAiVGhyZWFk ICN7VGhyZWFkLmN1cnJlbnR9LCBmaWJlciAje0ZpYmVyLmN1cnJlbnR9LCBsb2NrZWQgI3ttLm1v bl9sb2NrZWQ/fSwgb3duZWQgI3ttLm1vbl9vd25lZD99IgoKICAjIFRoZSBFbnVtZXJhdG9yIGhl cmUgY3JlYXRlcyBhIGZpYmVyLCB3aGljaCBydW5zIG9uIHRoZSBzYW1lIHRocmVhZCwgc28gd291 bGQgd2FudCB0byB1c2UgdGhlIHNhbWUgdGhyZWFkLWxvY2FsIHJlc291cmNlCiAgZSA9IEVudW1l cmF0b3IubmV3IGRvIHx5fAogICAgIyBJbiAyLjcgdGhpcyBpcyBmaW5lLCBpbiAzLjAgaXQncyBu b3QsIGFzIHRoZSBmaWJlciB0aGlua3MgaXQgZG9lc24ndCBoYXZlIHRoZSBsb2NrCiAgICBwdXRz ICJUaHJlYWQgI3tUaHJlYWQuY3VycmVudH0sIGZpYmVyICN7RmliZXIuY3VycmVudH0sIGxvY2tl ZCAje20ubW9uX2xvY2tlZD99LCBvd25lZCAje20ubW9uX293bmVkP30iCiAgICAKICAgICMgVGhp cyB3b3VsZCBkZWFkbG9jawogICAgIyBtLmVudGVyCgogICAgeS55aWVsZCAxCiAgZW5kCiAgZS5u ZXh0CmVuZAoKdC5qb2luCmBgYAoKIyMjIFBvc3NpYmxlIFNvbHV0aW9ucwoKKiBBbGxvdyBgTW9u aXRvcmAgdG8gYmUgcGVyIHRocmVhZCBvciBmaWJlciB0aHJvdWdoIGEgZmxhZwoqIEhhdmluZyBg VGhyZWFkOjpNb25pdG9yYCBhbmQgYEZpYmVyOjpNb25pdG9yYCBhcyB0d28gc2VwYXJhdGUgY2xh c3Nlcy4gTGVhdmUgYE1vbml0b3JgIGFzIGl0IGlzIHJpZ2h0IG5vdy4gSG93ZXZlciwgdGhpcyBt YXkgbm90IGJlIHBvc3NpYmxlIGR1ZSB0byB0aGUgYFRocmVhZDo6TXV0ZXhgIGFsaWFzIAoKVGhl c2Ugb3B0aW9ucyB3b3VsZCBnaXZlIHVzIG1vcmUgZmxleGliaWxpdHkgaW4gd2hpY2ggdHlwZSBv ZiBNb25pdG9yIHRvIHVzZS4gCgoKCi0tIApodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy8K