From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from omta001.cacentral1.a.cloudfilter.net (omta001.cacentral1.a.cloudfilter.net [3.97.99.32]) by sourceware.org (Postfix) with ESMTPS id 12AD23858D28; Wed, 24 Jan 2024 20:37:16 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 12AD23858D28 Authentication-Results: sourceware.org; dmarc=fail (p=none dis=none) header.from=kylheku.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=shaw.ca ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 12AD23858D28 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=3.97.99.32 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1706128637; cv=none; b=vNPLTpBlrPPHvRu2ML8U/ZtfxieAH+PhD2r/4gyufB05htNTLKtXV1IbxwZfYFxt4Yt37LPq/NWRGWd7jg23neb/6ilmmkOWh86VPLiXW2CodAssKgXXOU/mvicdDMyDG4UuLW4KIvm04EgVHhGoo+go6p/O4uJJPBFGIBwjfrs= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1706128637; c=relaxed/simple; bh=ZL6Ix5yQpiR2KqVXJ6RcyD9KRgBUDY50MZ5eaoU8PNU=; h=DKIM-Signature:MIME-Version:Date:From:To:Subject:Message-ID; b=QY5IM5sq5dCv9kLiohVtLW6FjSp48IagAPo+iZHDWzcH1Sfw082z4g2G5sBFij5SRc2rPmQlb9w+sFEqv3NsXFrxGg3HqQxln3sD/ZBBSADqchMu4bq5+iee7425aYia8p3FclXfoEAlfZt5Ry5BP4PpesfcC0kzQXkrhVBheeQ= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from shw-obgw-4003a.ext.cloudfilter.net ([10.228.9.183]) by cmsmtp with ESMTPS id ScTJrQ8azxDxGSjznr0EMs; Wed, 24 Jan 2024 20:37:15 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=shaw.ca; s=s20180605; t=1706128635; bh=ZL6Ix5yQpiR2KqVXJ6RcyD9KRgBUDY50MZ5eaoU8PNU=; h=Date:From:To:Cc:Subject:In-Reply-To:References; b=ObIUrtGxnY7eugRu8EuVFTDBd8CjKqefvsRoEDn2gQgtnKeYUU5bIaMiDKYumr/IO SHxB/IGdB/Zdy4s6veAi6ijNo/ZseZBfFed+HMhPQ64uDZ6GeTdy69dumBtCx9wd5k smjNmlhZBkx39YmCTTOZCwR2YizXhq7P8Q6yuBTEUphtUlIaVrzKUJkhOwKV7E4LXc iMbV/gMOTnfZ3hQbrYBAi0T9bBReV5acqvw9NzSGIPJvULE5b8Dl9TaEo8dXPgtBI8 C2jeLnJMD0EE5jZUgBizR68iU65QgpAs7rWrP1d4ng5E/iWTeL0tex/41ytB1/VyMW 6X8m++mlrax8w== Received: from kylheku.com ([70.79.182.7]) by cmsmtp with ESMTPSA id SjzmrWtuD0nMNSjznrqwyR; Wed, 24 Jan 2024 20:37:15 +0000 Authentication-Results: ; auth=pass (PLAIN) smtp.auth=kkylheku@shaw.ca X-Authority-Analysis: v=2.4 cv=Qcx1A+Xv c=1 sm=1 tr=0 ts=65b174fb a=pMSlDXUwMa7SJ1EIez8PdQ==:117 a=pMSlDXUwMa7SJ1EIez8PdQ==:17 a=kj9zAlcOel0A:10 a=dEuoMetlWLkA:10 a=SeMdBNsBWc165JoUstMA:9 a=CjuIK1q_8ugA:10 Received: from localhost.localdomain ([127.0.0.1] helo=mail.kylheku.com) by kylheku.com with esmtp (Exim 4.94.2) (envelope-from ) id 1rSjzl-00Cscp-NY; Wed, 24 Jan 2024 12:37:13 -0800 MIME-Version: 1.0 Date: Wed, 24 Jan 2024 12:37:13 -0800 From: Kaz Kylheku To: cygwin@cygwin.com Cc: Corinna Vinschen Subject: Re: Possiblly bug of cygwin1.dll In-Reply-To: References: <20240119224436.876a055f356f7c6796bc725b@nifty.ne.jp> <20240120131825.4157c259fe058155137d6fe0@nifty.ne.jp> <20240124205514.eaaa7162e3e858cbb39f5801@nifty.ne.jp> User-Agent: Roundcube Webmail/1.4.15 Message-ID: X-Sender: kaz@kylheku.com Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-CMAE-Envelope: MS4xfEqocMsHHmipcdn7M01jDWyAk3nEdq5KYEesa3JPzGeujVfXzgKXegL3d7cHDDDbOCGNUauqE+HoeK/YO4flS7y8WkGxv3ZMuXT+aVi/g46kpO6enSZ7 GeRk3wnoAaBAt3h2VPqzNwybclHkHH/m5fD04kz8CNMsniDQyxB7D/KTqMarx0zkuiN8asnhLO9IX8y9IZICviqdzEqU3EtnzkM= X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,HEADER_FROM_DIFFERENT_DOMAINS,RCVD_IN_DNSWL_LOW,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On 2024-01-24 05:11, Corinna Vinschen via Cygwin wrote: > Is anybody willing to give this a whirl? We have a good year until > the next major release... As far as the problem of not allocating per-mutex kernel objects, this can be done by implementing futex. Linux has futexes, mainly for solving certain problems having to do with doing synchronization efficiently in user space, while requiring the kernel to actually make threads wait. But the technique has an attractive aspect in that programs do not have to allocate and free futexes. Any memory location is a futex. (A vaguely similar idea was implemented in early Unix: the "wait channel" (wchan). Any memory location in the kernel could be waited on and signaled, without allocating or freeing any sync object. That's where the wchan field comes from in ps; showing the address of what the process is waiting in. Because the wait channel had no state, any address could be used. Addresses of functions were used, because those could be resolved back to meaningful names via the symbol table. Futexes have state, though.)