X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=src%2Fmemslap.c;h=487b60230f11ddf7842b60346e75a41e0f2dfe29;hb=89aca153336105c0f29903e31ebb6bd743d95307;hp=280e4c9da6cfc0414b4d5f42021fe95b8a067369;hpb=a839a04ae135e6a92b8be858e9c6605d7514c394;p=awesomized%2Flibmemcached diff --git a/src/memslap.c b/src/memslap.c index 280e4c9d..487b6023 100644 --- a/src/memslap.c +++ b/src/memslap.c @@ -1,10 +1,12 @@ #include #include +#include #include #include #include #include #include +#include #include #include #include @@ -309,12 +311,14 @@ void *run_task(void *p) { thread_context_st *context= (thread_context_st *)p; memcached_st *memc; + unsigned int value= 1; memc= memcached_create(NULL); + WATCHPOINT_ASSERT(memc); if (opt_non_blocking_io) - memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_NO_BLOCK, NULL ); + memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_NO_BLOCK, &value); if (opt_tcp_nodelay) - memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_TCP_NODELAY, NULL ); + memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_TCP_NODELAY, &value); memcached_server_push(memc, context->servers); @@ -336,16 +340,17 @@ void *run_task(void *p) break; } - pthread_mutex_lock(&counter_mutex); - thread_counter--; - pthread_cond_signal(&count_threshhold); - pthread_mutex_unlock(&counter_mutex); memcached_free(memc); if (context->execute_pairs) pairs_free(context->execute_pairs); free(context); + pthread_mutex_lock(&counter_mutex); + thread_counter--; + pthread_cond_signal(&count_threshhold); + pthread_mutex_unlock(&counter_mutex); + return NULL; }