Re: [PATCH] threaded pack-objects: Use condition variables for thread communication.
- From
- Peter Baumann <waste.manager@gmx.de>
- Date
- Dec 16, 2007, 19:00 UTC
- Message-ID
- <20071216190016.GC4999@xp.machine.xx>
- In-Reply-To
- <200712161941.38109.johannes.sixt@telecom.at>
On Sun, Dec 16, 2007 at 07:41:37PM +0100, Johannes Sixt wrote:
Show 15 quoted lines
> On Sunday 16 December 2007 13:05, Peter Baumann wrote: > > On Sun, Dec 16, 2007 at 12:18:53AM +0100, Johannes Sixt wrote: > > > + > > > + progress_lock(); > > > + me->working = 0; > > > + progress_unlock(); > > > + pthread_cond_signal(&progress_cond); > > > > Shouldn't the pthread_cond_signal be inside the lock? > > e.g. swap progress_unlock() with pthread_cond_signal(&progress_cond) > > No, that's not necessary. Both ways are correct, but if it's outside the lock > there is less contention on the mutex (because the waiting thread must > acquire the mutex lock before it can return from pthread_cond_wait). >
At least I was told otherwise and [1] backs my knowledge up. Are you really sure?
-Peter
http://docs.sun.com/app/docs/doc/806-5257/6je9h032r?a=view#sync-53686