fixed poolTests on Windows

must use ZSTD_ prefix in front of pthread types
so that they get properly translated for Windows.
This commit is contained in:
Yann Collet 2019-04-11 12:03:42 -07:00
parent 8f56fa2f58
commit f8e9bec73a

View File

@ -26,12 +26,13 @@
#define ASSERT_EQ(lhs, rhs) ASSERT_TRUE((lhs) == (rhs)) #define ASSERT_EQ(lhs, rhs) ASSERT_TRUE((lhs) == (rhs))
struct data { struct data {
pthread_mutex_t mutex; ZSTD_pthread_mutex_t mutex;
unsigned data[16]; unsigned data[16];
size_t i; size_t i;
}; };
static void fn(void *opaque) { static void fn(void *opaque)
{
struct data *data = (struct data *)opaque; struct data *data = (struct data *)opaque;
ZSTD_pthread_mutex_lock(&data->mutex); ZSTD_pthread_mutex_lock(&data->mutex);
data->data[data->i] = data->i; data->data[data->i] = data->i;
@ -39,12 +40,13 @@ static void fn(void *opaque) {
ZSTD_pthread_mutex_unlock(&data->mutex); ZSTD_pthread_mutex_unlock(&data->mutex);
} }
static int testOrder(size_t numThreads, size_t queueSize) { static int testOrder(size_t numThreads, size_t queueSize)
{
struct data data; struct data data;
POOL_ctx *ctx = POOL_create(numThreads, queueSize); POOL_ctx* const ctx = POOL_create(numThreads, queueSize);
ASSERT_TRUE(ctx); ASSERT_TRUE(ctx);
data.i = 0; data.i = 0;
ZSTD_pthread_mutex_init(&data.mutex, NULL); (void)ZSTD_pthread_mutex_init(&data.mutex, NULL);
{ size_t i; { size_t i;
for (i = 0; i < 16; ++i) { for (i = 0; i < 16; ++i) {
POOL_add(ctx, &fn, &data); POOL_add(ctx, &fn, &data);
@ -72,7 +74,7 @@ static void waitFn(void *opaque) {
/* Tests for deadlock */ /* Tests for deadlock */
static int testWait(size_t numThreads, size_t queueSize) { static int testWait(size_t numThreads, size_t queueSize) {
struct data data; struct data data;
POOL_ctx *ctx = POOL_create(numThreads, queueSize); POOL_ctx* const ctx = POOL_create(numThreads, queueSize);
ASSERT_TRUE(ctx); ASSERT_TRUE(ctx);
{ size_t i; { size_t i;
for (i = 0; i < 16; ++i) { for (i = 0; i < 16; ++i) {
@ -94,7 +96,7 @@ typedef struct {
} poolTest_t; } poolTest_t;
static void waitLongFn(void *opaque) { static void waitLongFn(void *opaque) {
poolTest_t* test = (poolTest_t*) opaque; poolTest_t* const test = (poolTest_t*) opaque;
UTIL_sleepMilli(10); UTIL_sleepMilli(10);
ZSTD_pthread_mutex_lock(&test->mut); ZSTD_pthread_mutex_lock(&test->mut);
test->val = test->val + 1; test->val = test->val + 1;