Mailing-List: contact cygwin-developers-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-developers-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin-developers AT sources DOT redhat DOT com Date: Mon, 4 Jun 2001 10:11:29 -0400 From: Christopher Faylor To: cygwin-developers AT cygwin DOT com, cygwin-patches AT cygwin DOT com Subject: Re: pthread_cond_timedwait, etc Message-ID: <20010604101129.A9187@redhat.com> Reply-To: cygwin-patches AT cygwin DOT com Mail-Followup-To: cygwin-developers AT cygwin DOT com, cygwin-patches AT cygwin DOT com References: <3B1B504C DOT 8090808 AT 141monkeys DOT org> <010201c0ecda$526e7450$0200a8c0 AT lifelesswks> <012601c0ece3$120f5560$0200a8c0 AT lifelesswks> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.3.11i In-Reply-To: <012601c0ece3$120f5560$0200a8c0@lifelesswks>; from robert.collins@itdomain.com.au on Mon, Jun 04, 2001 at 08:42:31PM +1000 On Mon, Jun 04, 2001 at 08:42:31PM +1000, Robert Collins wrote: >----- Original Message ----- >From: "Robert Collins" > >> this may be an artifact of a particularly horrendous patch I had to >> generate at one point. That does look buggy to me. Patch coming >shortly. > >Patch attached at the end of the email. Thanks for catching that. >pthread_cond_wait was also bust. > >> We could ignore it and return.. I'll try and get time to >> check the spec and see if that's the expected behaviour. If it is, >> consider that error a useful diagnostic for your code :]. > >pthread_cond_broadcast is meant to never have an error, except when the >condvariable is invalid. The attached patch fixs that little bit of >bitrot as well. It snuck in from my test _verbose_ test code, and should >have been trimmed back a little :]. You probably have code calling >pthread_cond_broadcast to ensure that no threads are waiting when you >exit the program. > > >Changelog >Mon Jun 4 20:39:00 2001 Robert Collins > > * thread.cc (pthread_cond::Broadcast): Don't print error messages > on invalid mutexs - user programs are allowed to call > pthread_cond_broadcast like that. > __pthread_cond_timedwait: Initialise themutex properly. > __pthread_cond_wait: Initialise themutex properly. Applied (after some ChangeLog tweaking). Thanks. cgf