diff options
Diffstat (limited to 'nptl/sysdeps/unix/sysv/linux/sem_wait.c')
-rw-r--r-- | nptl/sysdeps/unix/sysv/linux/sem_wait.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/nptl/sysdeps/unix/sysv/linux/sem_wait.c b/nptl/sysdeps/unix/sysv/linux/sem_wait.c index 36bb158e09..e6733e88a3 100644 --- a/nptl/sysdeps/unix/sysv/linux/sem_wait.c +++ b/nptl/sysdeps/unix/sysv/linux/sem_wait.c @@ -35,17 +35,12 @@ __new_sem_wait (sem_t *sem) CANCELLATION_P (THREAD_SELF); int *futex = (int *) sem; - int val; int err; do { - if (*futex > 0) - { - val = atomic_decrement_if_positive (futex); - if (val > 0) - return 0; - } + if (atomic_decrement_if_positive (futex) > 0) + return 0; /* Enable asynchronous cancellation. Required by the standard. */ int oldtype = __pthread_enable_asynccancel (); |