summaryrefslogtreecommitdiff
path: root/grep.c
diff options
context:
space:
mode:
authorJeff King <peff@peff.net>2012-02-02 08:18:41 (GMT)
committerJunio C Hamano <gitster@pobox.com>2012-02-02 18:36:07 (GMT)
commitb3aeb285d0ac1dcb4d578a61a68e08646f96501f (patch)
treef299d6f58379e87987f0029d6bed85b7b9719005 /grep.c
parent78db6ea9dc1a872f9d07a36fe7aec700a5c963b9 (diff)
downloadgit-b3aeb285d0ac1dcb4d578a61a68e08646f96501f.zip
git-b3aeb285d0ac1dcb4d578a61a68e08646f96501f.tar.gz
git-b3aeb285d0ac1dcb4d578a61a68e08646f96501f.tar.bz2
grep: move sha1-reading mutex into low-level code
The multi-threaded git-grep code needs to serialize access to the thread-unsafe read_sha1_file call. It does this with a mutex that is local to builtin/grep.c. Let's instead push this down into grep.c, where it can be used by both builtin/grep.c and grep.c. This will let us safely teach the low-level grep.c code tricks that involve reading from the object db. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'grep.c')
-rw-r--r--grep.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/grep.c b/grep.c
index 7a67c2f..db58a29 100644
--- a/grep.c
+++ b/grep.c
@@ -826,6 +826,12 @@ static inline void grep_attr_unlock(void)
if (grep_use_locks)
pthread_mutex_unlock(&grep_attr_mutex);
}
+
+/*
+ * Same as git_attr_mutex, but protecting the thread-unsafe object db access.
+ */
+pthread_mutex_t grep_read_mutex;
+
#else
#define grep_attr_lock()
#define grep_attr_unlock()