Junio C Hamano <gitster@xxxxxxxxx> writes: > The remainder of this message are hints and random thoughts on potential > follow-up patches that may want to build on top of this patch for further > clean-ups (not specifically meant for Dscho but for other people on both > mailing lists). > ... > - Wouldn't the result be more readable to make these into static inline > functions? That would look like this. -- >8 -- Subject: [PATCH] builtin/grep: make lock/unlock into static inline Signed-off-by: Junio C Hamano <gitster@xxxxxxxxx> --- builtin/grep.c | 28 +++++++++++++++++++++++----- 1 files changed, 23 insertions(+), 5 deletions(-) diff --git a/builtin/grep.c b/builtin/grep.c index 88b0c80..3ddfae4 100644 --- a/builtin/grep.c +++ b/builtin/grep.c @@ -74,14 +74,32 @@ static int all_work_added; /* This lock protects all the variables above. */ static pthread_mutex_t grep_mutex; +static inline void grep_lock(void) +{ + if (use_threads) + pthread_mutex_lock(&grep_mutex); +} + +static inline void grep_unlock(void) +{ + if (use_threads) + pthread_mutex_unlock(&grep_mutex); +} + /* Used to serialize calls to read_sha1_file. */ static pthread_mutex_t read_sha1_mutex; -#define WHEN_THREADED(x) do { if (use_threads) (x); } while (0) -#define grep_lock() WHEN_THREADED(pthread_mutex_lock(&grep_mutex)) -#define grep_unlock() WHEN_THREADED(pthread_mutex_unlock(&grep_mutex)) -#define read_sha1_lock() WHEN_THREADED(pthread_mutex_lock(&read_sha1_mutex)) -#define read_sha1_unlock() WHEN_THREADED(pthread_mutex_unlock(&read_sha1_mutex)) +static inline void read_sha1_lock(void) +{ + if (use_threads) + pthread_mutex_lock(&read_sha1_mutex); +} + +static inline void read_sha1_unlock(void) +{ + if (use_threads) + pthread_mutex_unlock(&read_sha1_mutex); +} /* Signalled when a new work_item is added to todo. */ static pthread_cond_t cond_add; -- 1.7.7.1.504.gcc718 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html