Michael Haggerty <mhag...@alum.mit.edu> 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 <mhag...@alum.mit.edu>
> ---

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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to