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

Re: [PATCH] Fix handle leak in write_tree

From
Alex Riesen <raa.lkml@gmail.com>
Date
Apr 25, 2007, 20:59 UTC
Message-ID
<20070425205930.GF30061@steel.home>
In-Reply-To
<7vps5u86bn.fsf@assigned-by-dhcp.cox.net>
Junio C Hamano, Tue, Apr 24, 2007 11:33:48 +0200:
Show 8 quoted lines
> 
> > ... Isn't such kind of resource control _generally_ nicer to implement
> > in the top levels of a program?
> 
> In theory perhaps, but my understanding of our use of atexit()
> is to clean them up in situations beyond the control of the top
> levels of a program, most notably upon exit on signal.
> 
struct git_context;
/* or whatever is the latest name for the repo bookeeping is.
   It have to be passed to every git-related function anyway. */

struct lock_file *open_index_locked(struct git_context *, int die_on_error); int commit_index_locked(struct git_context *, struct lock_file *); ... and so on.

Then let the top level call something like
    git_cleanup(struct git_context *);

in its _own_ signal or atexit handlers. If it didn't setup the handlers, than perhaps it did want it so (leaving tempfiles behind is sometimes done on purpose). Or it _is_ a bug, but then it is clear: you have to cleanup, and you do git's part of cleanup with git_cleanup.

Previous: Junio C HamanoNext: Junio C Hamano
Message 5 of 7 in “Fix handle leak in write_tree”
  1. Fix handle leak in write_treeAlex Riesen, Apr 23, 2007
  2. Junio C HamanoApr 24, 2007
  3. Alex RiesenApr 24, 2007
  4. Junio C HamanoApr 24, 2007
  5. Alex RiesenApr 25, 2007
  6. Junio C HamanoApr 25, 2007
  7. Fix handle leak in write_treeAlex Riesen, Apr 25, 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.