X-Git-Url: http://git.liburcu.org/?p=urcu.git;a=blobdiff_plain;f=urcu.c;h=475bebf526dfd1b9cc8cf78b87d8804ded7a1b6f;hp=5e2d2afff5641c57a80548c1f78469c52ccf7b09;hb=2d6debff95ad695255d2ea9d590d1e418590b238;hpb=b0d5e7908b8049b9f9e790d69e0f41179b5e415d diff --git a/urcu.c b/urcu.c index 5e2d2af..475bebf 100644 --- a/urcu.c +++ b/urcu.c @@ -54,12 +54,17 @@ static int sig_done; void internal_urcu_lock(void) { +#if 0 int ret; + /* Mutex sleeping does not play well with busy-waiting loop. */ ret = pthread_mutex_lock(&urcu_mutex); if (ret) { perror("Error in pthread mutex lock"); exit(-1); } +#endif + while (pthread_mutex_trylock(&urcu_mutex) != 0) + cpu_relax(); } void internal_urcu_unlock(void)