diff options
Diffstat (limited to 'nptl/nptl_setxid.c')
-rw-r--r-- | nptl/nptl_setxid.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/nptl/nptl_setxid.c b/nptl/nptl_setxid.c index aa863c7..e709822 100644 --- a/nptl/nptl_setxid.c +++ b/nptl/nptl_setxid.c @@ -88,7 +88,7 @@ __nptl_setxid_sighandler (int sig, siginfo_t *si, void *ctx) self->setxid_futex = 1; futex_wake (&self->setxid_futex, 1, FUTEX_PRIVATE); - if (atomic_decrement_val (&xidcmd->cntr) == 0) + if (atomic_fetch_add_relaxed (&xidcmd->cntr, -1) == 1) futex_wake ((unsigned int *) &xidcmd->cntr, 1, FUTEX_PRIVATE); } libc_hidden_def (__nptl_setxid_sighandler) |