git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] threaded pack-objects: Use condition variables for thread communication.

From
PBPeter 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
Previous: Johannes SixtNext: Johannes Sixt
Message 4 of 11 in “threaded pack-objects: Use condition variables for thread communication.”
  1. threaded pack-objects: Use condition variables for thread communication.Johannes Sixt, Dec 15, 2007
  2. Peter BaumannDec 16, 2007
  3. Johannes SixtDec 16, 2007
  4. Peter BaumannDec 16, 2007
  5. threaded pack-objects: Use condition variables for thread communication.Johannes Sixt, Dec 16, 2007
  6. Junio C HamanoDec 16, 2007
  7. Nicolas PitreDec 17, 2007
  8. Johannes SixtDec 17, 2007
  9. Plug a resource leak in threaded pack-objects code.Johannes Sixt, Dec 17, 2007
  10. Dmitry PotapovDec 17, 2007
  11. David BrownDec 16, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.