Here are two patches which makes xmalloc, xrealloc and sha1_to_hex thread-safe.
I think the xmalloc/xrealloc patch is a clear improvement compared to the current situation.
The sha1_to_hex patch is a bit complicated and is more of an RFC. It makes use of pthread_once which is not (yet) implemented in our pthreads win32 compatibility layer.
---
Fredrik Kuivinen (2):
Make sha1_to_hex thread-safe
Make xmalloc and xrealloc thread-safebuiltin/grep.c | 2 +- builtin/pack-objects.c | 4 ++-- git-compat-util.h | 8 +++++++ hex.c | 53 ++++++++++++++++++++++++++++++++++++++++++++++++ preload-index.c | 2 +- run-command.c | 3 ++- wrapper.c | 22 ++++++++++++++------ 7 files changed, 83 insertions(+), 11 deletions(-)