delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin-developers/2001/04/16/09:13:18

Mailing-List: contact cygwin-developers-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-developers-subscribe AT sources DOT redhat DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin-developers/>
List-Post: <mailto:cygwin-developers AT sources DOT redhat DOT com>
List-Help: <mailto:cygwin-developers-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-developers-owner AT sources DOT redhat DOT com
Delivered-To: mailing list cygwin-developers AT sources DOT redhat DOT com
Message-ID: <016f01c0c676$fde381c0$0200a8c0@lifelesswks>
From: "Robert Collins" <robert DOT collins AT itdomain DOT com DOT au>
To: "Trevor Forbes" <trevorforbes AT ozemail DOT com DOT au>,
"Cygwin-developers" <cygwin-developers AT cygwin DOT com>
References: <037701c0c3ab$9049bf30$0200a8c0 AT lifelesswks> <20010413221222 DOT C5606 AT dothill DOT com> <006001c0c4af$179b79c0$0200a8c0 AT lifelesswks> <20010414223139 DOT A906 AT redhat DOT com> <001701c0c557$02a861b0$0200a8c0 AT lifelesswks> <20010415090600 DOT A8359 AT redhat DOT com> <001301c0c5af$9cb7e520$0200a8c0 AT lifelesswks> <20010415153317 DOT C9015 AT redhat DOT com> <013b01c0c613$53cdac00$0200a8c0 AT lifelesswks> <20010415222520 DOT E10309 AT redhat DOT com> <035e01c0c675$c2c11180$0200a8c0 AT voyager>
Subject: Re: dll_entry [was Re: fork expert needed: (was .....])
Date: Mon, 16 Apr 2001 23:13:11 +1000
MIME-Version: 1.0
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 5.50.4133.2400
X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400
X-OriginalArrivalTime: 16 Apr 2001 13:05:52.0907 (UTC) FILETIME=[F7501DB0:01C0C675]

----- Original Message -----
From: "Trevor Forbes" <trevorforbes AT ozemail DOT com DOT au>
To: "Cygwin-developers" <cygwin-developers AT cygwin DOT com>
Sent: Monday, April 16, 2001 11:04 PM
Subject: dll_entry [was Re: fork expert needed: (was .....])


> ----- Original Message -----
> From: "Christopher Faylor" <cgf AT redhat DOT com>
> >
> > > Robert Collins wrote:
> > >Also while MSDN states that only one thread at a time can call the
> > >entry point function, it does not state or imply that other threads
are
> > >suspended during that process.
> >
> > Ok, I reluctantly stand corrected.  I thought that both the MSDN and
> > my own personal experience (waiting for a signal from Cygwi's signal
> > thread that never arrived) said this.  I couldn't find any reference
> > to this, though.
>
> Moved thread  location.....
>
> The system serializes calls to the dll entry point function and "it
> suspends" the other related threads during the process.
> (Jeffery Richer - Microsoft Press)

I believe that means that if (say) 3 threads (whether in the same
process or not) simultaneously attach to a single dll, two of the three
threads are blocked while they wait to run the dll entry point function.
That's not the scenario we were discussing. Still, a test case will
demonstrate it wiether way quite quickly.

***
More importantly, we're not in cygwin's dll entry point, so that is
irrelevant to us. We may cause other dll entry point functions to run as
we call LoadLibrary multiple times (once for each dll the parent had
attached to before fork was called).
***

> The attached patch can avoid the bottleneck but it may introduce
new/old
> problems.

It won't avoid the issue we're looking at :[ Other than that, no comment
from this corner - too ignorant of cygwin's needs in that area at the
moment.

Rob



- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019