Michael Haggerty <mhagger@xxxxxxxxxxxx> writes: > Allow an existing file to be registered with the tempfile-handling > infrastructure; in particular, arrange for it to be deleted on program > exit. > > Signed-off-by: Michael Haggerty <mhagger@xxxxxxxxxxxx> > --- Hmph. Where does such a tempfile that is not on list come from? Puzzled, but let's read on---this could for example become an internal implementation detail for create_tempfile(). Also I cannot tell which one of register_tempfile() and register_tempfile_object() I should be calling when updating the implementation of this API from their names. > diff --git a/tempfile.c b/tempfile.c > index 890075f..235fc85 100644 > --- a/tempfile.c > +++ b/tempfile.c > @@ -82,6 +82,15 @@ int create_tempfile(struct tempfile *tempfile, const char *path) > return tempfile->fd; > } > > +void register_tempfile(struct tempfile *tempfile, const char *path) > +{ > + register_tempfile_object(tempfile, path); > + > + strbuf_add_absolute_path(&tempfile->filename, path); > + tempfile->owner = getpid(); > + tempfile->active = 1; > +} > + > int mks_tempfile_sm(struct tempfile *tempfile, > const char *template, int suffixlen, int mode) > { > diff --git a/tempfile.h b/tempfile.h > index 6276156..18ff963 100644 > --- a/tempfile.h > +++ b/tempfile.h > @@ -145,6 +145,14 @@ struct tempfile { > */ > extern int create_tempfile(struct tempfile *tempfile, const char *path); > > +/* > + * Register an existing file as a tempfile, meaning that it will be > + * deleted when the program exits. The tempfile is considered closed, > + * but it can be worked with like any other closed tempfile (for > + * example, it can be opened using reopen_tempfile()). > + */ > +extern void register_tempfile(struct tempfile *tempfile, const char *path); > + > > /* > * mks_tempfile functions -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html