Date: Tue, 4 Nov 2008 07:41:13 -0800 From: Alfred Perlstein <alfred@freebsd.org> To: Ed Maste <emaste@freebsd.org> Cc: freebsd-threads@FreeBSD.org Subject: Re: threads/128180: pthread_cond_broadcast(3) lost wakeup Message-ID: <20081104154113.GP60438@elvis.mu.org> In-Reply-To: <200811041440.mA4Ee31J084489@freefall.freebsd.org> References: <200811041440.mA4Ee31J084489@freefall.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
* Ed Maste <emaste@freebsd.org> [081104 06:40] wrote: > The following reply was made to PR threads/128180; it has been noted by GNATS. > > From: Ed Maste <emaste@freebsd.org> > To: bug-followup@FreeBSD.org, kurt@intricatesoftware.com > Cc: > Subject: Re: threads/128180: pthread_cond_broadcast(3) lost wakeup > Date: Tue, 4 Nov 2008 09:09:38 -0500 > > > The test program doesn't look correct to me. It seems possible > > for only a few of the threads (as little as 2) to do all the > > work. Thread 1 can start doing work, then wait for a broadcast. > > Thread 2 can start doing his work, then broadcast waking thread 1. > > It looks to me like the "tickets" and "finished" globals should make > the test program operate correctly. If the scenario you describe > happens, thread 1 will just enter pthread_cond_wait again and wait > for the broadcast from the primordial thread. This bug may have been fixed in 6-stable and 6.4. http://svn.freebsd.org/viewvc/base?view=revision&revision=184172 Can you try upgrading? -- - Alfred Perlstein
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20081104154113.GP60438>