aboutsummaryrefslogtreecommitdiffstats
path: root/builtin/grep.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2025-01-02 13:37:07 -0800
committerJunio C Hamano <gitster@pobox.com>2025-01-02 13:37:08 -0800
commiteffbef2bebed87b1ce46d449862fb5121dba9d34 (patch)
treed2fce862eff41924570281641c2585cdcb238267 /builtin/grep.c
parentA bit more post Git 2.48-rc1 (diff)
parenttest-lib: ignore leaks in the sanitizer's thread code (diff)
downloadgit-effbef2bebed87b1ce46d449862fb5121dba9d34.tar.gz
git-effbef2bebed87b1ce46d449862fb5121dba9d34.zip
Merge branch 'jk/lsan-race-ignore-false-positive'
CI jobs that run threaded programs under LSan has been giving false positives from time to time, which has been worked around. This is an alternative to the jk/lsan-race-with-barrier topic with much smaller change to the production code. * jk/lsan-race-ignore-false-positive: test-lib: ignore leaks in the sanitizer's thread code test-lib: check leak logs for presence of DEDUP_TOKEN test-lib: simplify leak-log checking test-lib: rely on logs to detect leaks Revert barrier-based LSan threading race workaround
Diffstat (limited to 'builtin/grep.c')
-rw-r--r--builtin/grep.c8
1 files changed, 0 insertions, 8 deletions
diff --git a/builtin/grep.c b/builtin/grep.c
index 61b2c27490..d00ee76f24 100644
--- a/builtin/grep.c
+++ b/builtin/grep.c
@@ -101,9 +101,6 @@ static pthread_cond_t cond_write;
/* Signalled when we are finished with everything. */
static pthread_cond_t cond_result;
-/* Synchronize the start of all threads */
-static maybe_thread_barrier_t start_barrier;
-
static int skip_first_line;
static void add_work(struct grep_opt *opt, struct grep_source *gs)
@@ -201,8 +198,6 @@ static void *run(void *arg)
int hit = 0;
struct grep_opt *opt = arg;
- maybe_thread_barrier_wait(&start_barrier);
-
while (1) {
struct work_item *w = get_work();
if (!w)
@@ -234,7 +229,6 @@ static void start_threads(struct grep_opt *opt)
pthread_cond_init(&cond_add, NULL);
pthread_cond_init(&cond_write, NULL);
pthread_cond_init(&cond_result, NULL);
- maybe_thread_barrier_init(&start_barrier, NULL, num_threads + 1);
grep_use_locks = 1;
enable_obj_read_lock();
@@ -254,7 +248,6 @@ static void start_threads(struct grep_opt *opt)
die(_("grep: failed to create thread: %s"),
strerror(err));
}
- maybe_thread_barrier_wait(&start_barrier);
}
static int wait_all(void)
@@ -291,7 +284,6 @@ static int wait_all(void)
pthread_cond_destroy(&cond_add);
pthread_cond_destroy(&cond_write);
pthread_cond_destroy(&cond_result);
- maybe_thread_barrier_destroy(&start_barrier);
grep_use_locks = 0;
disable_obj_read_lock();