X-Recipient: archive-cygwin@delorie.com
X-SWARE-Spam-Status: No, hits=-3.8 required=5.0	tests=AWL,BAYES_00,KHOP_RCVD_UNTRUST,KHOP_THREADED,RCVD_IN_HOSTKARMA_W,RCVD_IN_HOSTKARMA_WL,RP_MATCHES_RCVD,SPF_HELO_PASS
X-Spam-Check-By: sourceware.org
X-IronPortListener: Outbound_SMTP
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: AgEFAOSvs1CcKEel/2dsb2JhbABEhii5BXYWc4IeAQEBAwESERFKCwIBCA0NAgYgAgICHRMVEAIEGxqHZQajWooHkmWBIo5DMmEDjTWOWYo3gm+CHQ
From: "Lavrentiev, Anton (NIH/NLM/NCBI) [C]" <lavr@ncbi.nlm.nih.gov>
To: "cygwin@cygwin.com" <cygwin@cygwin.com>
Subject: RE: Possible race in SYSV IPC (semaphores)
Date: Mon, 26 Nov 2012 18:09:40 +0000
Message-ID: <5F8AAC04F9616747BC4CC0E803D5907D016FEA@MLBXv04.nih.gov>
References: <5F8AAC04F9616747BC4CC0E803D5907D012856@MLBXV09.nih.gov> <20121123113605.GN17347@calimero.vinschen.de> <20121123131020.GR17347@calimero.vinschen.de> <20121123133332.GU17347@calimero.vinschen.de> <20121123164404.GX17347@calimero.vinschen.de> <5F8AAC04F9616747BC4CC0E803D5907D0162C6@MLBXv04.nih.gov> <20121123172937.GA12624@calimero.vinschen.de> <5F8AAC04F9616747BC4CC0E803D5907D0162E7@MLBXv04.nih.gov> <20121123175903.GA11546@calimero.vinschen.de> <20121126125342.GA3800@calimero.vinschen.de>
In-Reply-To: <20121126125342.GA3800@calimero.vinschen.de>
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
X-IsSubscribed: yes
Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe@cygwin.com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-help@cygwin.com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
Delivered-To: mailing list cygwin@cygwin.com
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from base64 to 8bit by delorie.com id qAQIA9Fi010652

> I just checked in the change.

Thank you.  I will test it as soon as it's available in a snapshot.

> ...especially since I can't reproduce this.  I tried with cygserver
> before and after my patch and in both cases your semaphore testcase
> worked as expected with -d -l 7.

I see.  Maybe this will help.  My sequence of actions:

In an elevated cmd.exe, from Cygwin's /bin:

cygrunsrv.exe -I cygserver -x /usr/sbin/cygserver.exe -a "-d -l 7"
cygrunsrv.exe -S cygserver

In a regular cmd.exe:

a.exe

(this is my testcase that locks/unlocks the semaphores).
It never gets past iteration 1000.

Also, if I start cygserver just as a regular process (not as a background
thing), so that it logs right to the window, it does not lock up.

Anton Lavrentiev
Contractor NIH/NLM/NCBI


