X-Recipient: archive-cygwin@delorie.com
X-Spam-Check-By: sourceware.org
Date: Fri, 20 Nov 2009 09:38:33 -0500
From: Christopher Faylor <cgf-use-the-mailinglist-please@cygwin.com>
To: cygwin@cygwin.com
Subject: Re: 1.5.25-15: pthread_join deadlocks
Message-ID: <20091120143833.GE18289@ednor.casa.cgf.cx>
Reply-To: cygwin@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
References: <20091119124405.GF29173@calimero.vinschen.de>  <4B067444.80900@ece.cmu.edu>  <4B06A11C.6030101@cwilson.fastmail.fm>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <4B06A11C.6030101@cwilson.fastmail.fm>
User-Agent: Mutt/1.5.20 (2009-06-14)
Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
Precedence: bulk
List-Id: <cygwin.cygwin.com>
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie.com@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

On Fri, Nov 20, 2009 at 09:01:00AM -0500, Charles Wilson wrote:
>Ryan Johnson wrote:
>> Out of curiosity, how much did removing the racy optimization hurt
>> performance? The patch just yanked it completely iirc. An alternative
>> might be to have the main thread check for single-thread environment
>> only at acquire time, and then release only if it acquired (the latter
>> is probably a good idea regardles...).
>
>The problem is, IIRC there is no such thing as a single-thread
>environment for cygwin programs: every cygwin program has a secondary
>thread that handles translating certain windows events into unixy
>signals, or something like that. I think.

Yes, there's at least one extra thread active in every cygwin program.
If you've used select() at any point there will be more.

cgf

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

