X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;f=builtin-pack-refs.c;h=1aaa76dd1fe42f56e25dac6c3ca0e787eb7b005e;hb=e98d6df75260312e906278705f78f2eee39cc8fc;hp=1923fb1914c910457d2a987d73915db365fef68d;hpb=f85fd3f0d1213a2b714fddc7a834817aceeca932;p=git.git diff --git a/builtin-pack-refs.c b/builtin-pack-refs.c index 1923fb191..1aaa76dd1 100644 --- a/builtin-pack-refs.c +++ b/builtin-pack-refs.c @@ -108,6 +108,12 @@ static int pack_refs(unsigned int flags) die("failed to write ref-pack file"); if (fflush(cbdata.refs_file) || fsync(fd) || fclose(cbdata.refs_file)) die("failed to write ref-pack file (%s)", strerror(errno)); + /* + * Since the lock file was fdopen()'ed and then fclose()'ed above, + * assign -1 to the lock file descriptor so that commit_lock_file() + * won't try to close() it. + */ + packed.fd = -1; if (commit_lock_file(&packed) < 0) die("unable to overwrite old ref-pack file (%s)", strerror(errno)); if (cbdata.flags & PACK_REFS_PRUNE)