From: Junio C Hamano Date: Mon, 13 Jan 2014 19:23:04 +0000 (-0800) Subject: Merge branch 'km/gc-eperm' into maint X-Git-Tag: v1.8.5.3~2 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/3b72885bd8bd8dbd68a48d630e4e99633c93ab6f?hp=f5678f133321c4873109d15fd9ee4612cc326e13 Merge branch 'km/gc-eperm' into maint A "gc" process running as a different user should be able to stop a new "gc" process from starting. * km/gc-eperm: gc: notice gc processes run by other users --- diff --git a/builtin/gc.c b/builtin/gc.c index c14190f840..25f2237c08 100644 --- a/builtin/gc.c +++ b/builtin/gc.c @@ -222,7 +222,7 @@ static const char *lock_repo_for_gc(int force, pid_t* ret_pid) time(NULL) - st.st_mtime <= 12 * 3600 && fscanf(fp, "%"PRIuMAX" %127c", &pid, locking_host) == 2 && /* be gentle to concurrent "gc" on remote hosts */ - (strcmp(locking_host, my_host) || !kill(pid, 0)); + (strcmp(locking_host, my_host) || !kill(pid, 0) || errno == EPERM); if (fp != NULL) fclose(fp); if (should_exit) {