Revert barrier-based LSan threading race workaround
The extra "barrier" approach was too much code whose sole purpose was to work around a race that is not even ours (i.e. in LSan's teardown code). In preparation for queuing a solution taking a much-less-invasive approach, let's revert them.
This commit is contained in:
@@ -185,8 +185,6 @@ static pthread_mutex_t deepest_delta_mutex;
|
||||
|
||||
static pthread_key_t key;
|
||||
|
||||
static maybe_thread_barrier_t start_barrier;
|
||||
|
||||
static inline void lock_mutex(pthread_mutex_t *mutex)
|
||||
{
|
||||
if (threads_active)
|
||||
@@ -211,7 +209,6 @@ static void init_thread(void)
|
||||
if (show_stat)
|
||||
pthread_mutex_init(&deepest_delta_mutex, NULL);
|
||||
pthread_key_create(&key, NULL);
|
||||
maybe_thread_barrier_init(&start_barrier, NULL, nr_threads);
|
||||
CALLOC_ARRAY(thread_data, nr_threads);
|
||||
for (i = 0; i < nr_threads; i++) {
|
||||
thread_data[i].pack_fd = xopen(curr_pack, O_RDONLY);
|
||||
@@ -234,7 +231,6 @@ static void cleanup_thread(void)
|
||||
for (i = 0; i < nr_threads; i++)
|
||||
close(thread_data[i].pack_fd);
|
||||
pthread_key_delete(key);
|
||||
maybe_thread_barrier_destroy(&start_barrier);
|
||||
free(thread_data);
|
||||
}
|
||||
|
||||
@@ -1104,8 +1100,6 @@ static int compare_ref_delta_entry(const void *a, const void *b)
|
||||
|
||||
static void *threaded_second_pass(void *data)
|
||||
{
|
||||
if (threads_active)
|
||||
maybe_thread_barrier_wait(&start_barrier);
|
||||
if (data)
|
||||
set_thread_data(data);
|
||||
for (;;) {
|
||||
|
||||
Reference in New Issue
Block a user