Nguyễn Thái Ngọc Duy <pclouds@xxxxxxxxx> writes: > In the --auto code path, gc_before_repack() is called once in parent > process then again in the forked process. Stop the second run. Hmph. Is the true reason why this happens because we have two calls to gc_before_repack() in the main, and one is before daemonize()? Shouldn't this protection be in the caller? > > Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@xxxxxxxxx> > --- > builtin/gc.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/builtin/gc.c b/builtin/gc.c > index 8d219d8..fb0cff3 100644 > --- a/builtin/gc.c > +++ b/builtin/gc.c > @@ -261,6 +261,11 @@ static const char *lock_repo_for_gc(int force, pid_t* ret_pid) > > static int gc_before_repack(void) > { > + static int nr_runs; > + > + if (nr_runs++) > + return 0; > + > if (pack_refs && run_command_v_opt(pack_refs_cmd.argv, RUN_GIT_CMD)) > return error(FAILED_RUN, pack_refs_cmd.argv[0]); -- 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