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

Re: Funny error with git gc...

From
Johannes Schindelin <johannes.schindelin@gmx.de>
Date
May 23, 2009, 08:53 UTC
Message-ID
<alpine.DEB.1.00.0905231050480.9099@intel-tinevez-2-302>
In-Reply-To
<alpine.LFD.2.01.0905151307390.3343@localhost.localdomain>
Hi,
On Fri, 15 May 2009, Linus Torvalds wrote:
Show 9 quoted lines
> On Fri, 15 May 2009, Johannes Schindelin wrote:
> >  
> >  	fd = mkstemp(template);
> > +	if (fd < 0) {
> > +		release_pack_memory((size_t)-1ll, -1);
> > +		fd = mkstemp(template);
> 
> This is wrong. You can't use "template" twice. You need to re-initialize 
> it. The first one will blow away the XXXX pattern.

Turns out that would be awkward, as the xmkstemp() function would have to copy the template just in case mkstemp() fails due to too many open files, and of course it would need to release the copy afterwards.

OTOH we cannot just use the initialized filename, because there might be a race condition with another process, right?

Ciao, Dscho

Previous: Linus TorvaldsNext: Linus Torvalds
Message 9 of 18 in “Funny error with git gc...”
  1. Johannes SchindelinMay 15, 2009
  2. Junio C HamanoMay 15, 2009
  3. Avery PennarunMay 15, 2009
  4. Linus TorvaldsMay 15, 2009
  5. Johannes SchindelinMay 15, 2009
  6. Johannes SchindelinMay 15, 2009
  7. Johannes SchindelinMay 15, 2009
  8. Linus TorvaldsMay 15, 2009
  9. Johannes SchindelinMay 23, 2009
  10. Linus TorvaldsMay 23, 2009
  11. Johannes SchindelinMay 24, 2009
  12. Linus TorvaldsMay 15, 2009
  13. Johannes SchindelinMay 15, 2009
  14. Daniel BarkalowMay 15, 2009
  15. Matthias AndreeMay 18, 2009
  16. Cope better with a _lot_ of packsJohannes Schindelin, May 15, 2009
  17. Shawn O. PearceMay 15, 2009
  18. Junio C HamanoMay 21, 2009

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.