repack_without_refs(): don't lock or unlock the packed refs
commite5cc7d7d2bf2fbb3dfba81fe0c0c2981607fbc84
authorMichael Haggerty <mhagger@alum.mit.edu>
Sat, 1 Jul 2017 18:31:06 +0000 (1 20:31 +0200)
committerJunio C Hamano <gitster@pobox.com>
Mon, 3 Jul 2017 17:01:56 +0000 (3 10:01 -0700)
tree38ef482749bb7eb227566da702d7b293ac307760
parent42c7f7ff96850a608023c21a5ea05d801e4e5030
repack_without_refs(): don't lock or unlock the packed refs

Change `repack_without_refs()` to expect the packed-refs lock to be
held already, and not to release the lock before returning. Change the
callers to deal with lock management.

This change makes it possible for callers to hold the packed-refs lock
for a longer span of time, a possibility that will eventually make it
possible to fix some longstanding races.

The only semantic change here is that `repack_without_refs()` used to
forget to release the lock in the `if (!removed)` exit path. That
omission is now fixed.

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
refs/files-backend.c
refs/packed-backend.c