Re: [PATCH v2 13/16] lock_repo_for_gc(): compute the path to "gc.pid" only once
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Aug 11, 2015, 20:06 UTC
- Message-ID
- <xmqq4mk5r3nf.fsf@gitster.dls.corp.google.com>
- In-Reply-To
- <e34adde5b2cc3adbcd011ee06aeab93b3459a883.1439198011.git.mhagger@alum.mit.edu>
Michael Haggerty <mhagger@alum.mit.edu> writes:
Show 25 quoted lines
> Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
> ---
> builtin/gc.c | 9 ++++++---
> 1 file changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/builtin/gc.c b/builtin/gc.c
> index 36fe333..c41354b 100644
> --- a/builtin/gc.c
> +++ b/builtin/gc.c
> @@ -199,6 +199,7 @@ static const char *lock_repo_for_gc(int force, pid_t* ret_pid)
> uintmax_t pid;
> FILE *fp;
> int fd;
> + char *pidfile_path;
>
> if (pidfile)
> /* already locked */
> @@ -207,12 +208,13 @@ static const char *lock_repo_for_gc(int force, pid_t* ret_pid)
> if (gethostname(my_host, sizeof(my_host)))
> strcpy(my_host, "unknown");
>
> - fd = hold_lock_file_for_update(&lock, git_path("gc.pid"),
> + pidfile_path = git_pathdup("gc.pid");
> + fd = hold_lock_file_for_update(&lock, pidfile_path,
> LOCK_DIE_ON_ERROR);Looks correct; somehow this reminded me of the other topic from Peff to reduce use of git_path() ;-)
> - pidfile = git_pathdup("gc.pid");
> + pidfile = pidfile_path;
> sigchain_push_common(remove_pidfile_on_signal);
> atexit(remove_pidfile);I wonder if you can reduce the atexit() here by registering this as a tempfile to be cleared?