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
Johannes Sixt <johannes.sixt@telecom.at>
Date
Dec 16, 2007, 18:41 UTC
Message-ID
<200712161941.38109.johannes.sixt@telecom.at>
In-Reply-To
<20071216120558.GA4999@xp.machine.xx>
On Sunday 16 December 2007 13:05, Peter Baumann wrote:
Show 9 quoted lines
> 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).

-- Hannes
Previous: Peter BaumannNext: Peter Baumann
Message 3 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.