usage: allow pluggable die-recursion checks
commitc19a490e37181de8fa94ae1074af4b9f9a518f95
authorJeff King <peff@peff.net>
Tue, 16 Apr 2013 19:46:22 +0000 (16 15:46 -0400)
committerJunio C Hamano <gitster@pobox.com>
Tue, 16 Apr 2013 22:02:46 +0000 (16 15:02 -0700)
tree59751aaee7a5596494254f542cd8890135f44474
parent04a74b6cfa5ef4870263f84ac94a488d9f2ef14a
usage: allow pluggable die-recursion checks

When any git code calls die or die_errno, we use a counter
to detect recursion into the die functions from any of the
helper functions. However, such a simple counter is not good
enough for threaded programs, which may call die from a
sub-thread, killing only the sub-thread (but incrementing
the counter for everyone).

Rather than try to deal with threads ourselves here, let's
just allow callers to plug in their own recursion-detection
function. This is similar to how we handle the die routine
(the caller plugs in a die routine which may kill only the
sub-thread).

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-compat-util.h
usage.c