index-pack: protect deepest_delta in multithread code
authorNguyễn Thái Ngọc Duy <pclouds@gmail.com>
Tue, 19 Mar 2013 13:01:15 +0000 (20:01 +0700)
committerJunio C Hamano <gitster@pobox.com>
Tue, 19 Mar 2013 15:40:19 +0000 (08:40 -0700)
commit3aba2fddcbff6ba611c05eabeb4a8561c119275f
tree5ee775d329a1b00981477c898c63dd130d6c64d7
parent7e2010537e96d0a1144520222f20ba1dc3d61441
index-pack: protect deepest_delta in multithread code

deepest_delta is a global variable but is updated without protection
in resolve_delta(), a multithreaded function. Add a new mutex for it,
but only protect and update when it's actually used (i.e. show_stat is
non-zero).

Another variable that will not be updated is delta_depth in "struct
object_entry" as it's only useful when show_stat is 1. Putting it in
"if (show_stat)" makes it clearer.

The local variable "stat" is renamed to "show_stat" after moving to
global scope because the name "stat" conflicts with stat(2) syscall.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Reviewed-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/index-pack.c