diff --git a/.travis.yml b/.travis.yml index b01a8059..226acaa3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -28,7 +28,7 @@ matrix: - env: Cmd='make gcc6install libc6install && make clean && CC=gcc-6 CFLAGS=-m32 make uasan-fuzztest' - env: Cmd='make clang38install && CC=clang-3.8 make clean msan-fuzztest' - - env: Cmd='make clang38install && CC=clang-3.8 make clean tsan-test-zstream' + - env: Cmd='make clang38install && CC=clang-3.8 make clean tsan-fuzztest' - env: Cmd='make -j uasanregressiontest && make clean && make -j msanregressiontest' diff --git a/lib/common/pool.c b/lib/common/pool.c index 281b3824..7a829454 100644 --- a/lib/common/pool.c +++ b/lib/common/pool.c @@ -88,8 +88,8 @@ static void* POOL_thread(void* opaque) { ctx->numThreadsBusy++; ctx->queueEmpty = ctx->queueHead == ctx->queueTail; /* Unlock the mutex, signal a pusher, and run the job */ - ZSTD_pthread_mutex_unlock(&ctx->queueMutex); ZSTD_pthread_cond_signal(&ctx->queuePushCond); + ZSTD_pthread_mutex_unlock(&ctx->queueMutex); job.function(job.opaque); diff --git a/tests/fuzzer.c b/tests/fuzzer.c index eae71588..5d5c73e1 100644 --- a/tests/fuzzer.c +++ b/tests/fuzzer.c @@ -897,6 +897,34 @@ static int basicUnitTests(U32 seed, double compressibility) if (ZDICT_isError(dictSize)) goto _output_error; DISPLAYLEVEL(3, "OK, created dictionary of size %u \n", (U32)dictSize); + DISPLAYLEVEL(3, "test%3i : Multithreaded COVER dictBuilder : ", testNb++); + { U32 u; for (u=0; u