diff options
-rw-r--r-- | nptl/pthread_mutex_setprioceiling.c | 4 | ||||
-rw-r--r-- | nptl/pthread_mutex_unlock.c | 6 | ||||
-rw-r--r-- | nptl/sem_post.c | 9 |
3 files changed, 7 insertions, 12 deletions
diff --git a/nptl/pthread_mutex_setprioceiling.c b/nptl/pthread_mutex_setprioceiling.c index cbef202..8f1d6e1 100644 --- a/nptl/pthread_mutex_setprioceiling.c +++ b/nptl/pthread_mutex_setprioceiling.c @@ -116,8 +116,8 @@ pthread_mutex_setprioceiling (pthread_mutex_t *mutex, int prioceiling, | (prioceiling << PTHREAD_MUTEX_PRIO_CEILING_SHIFT); atomic_full_barrier (); - lll_futex_wake (&mutex->__data.__lock, INT_MAX, - PTHREAD_MUTEX_PSHARED (mutex)); + futex_wake ((unsigned int *)&mutex->__data.__lock, INT_MAX, + PTHREAD_MUTEX_PSHARED (mutex)); return 0; } diff --git a/nptl/pthread_mutex_unlock.c b/nptl/pthread_mutex_unlock.c index 2b4abb8..56f1732 100644 --- a/nptl/pthread_mutex_unlock.c +++ b/nptl/pthread_mutex_unlock.c @@ -162,7 +162,7 @@ __pthread_mutex_unlock_full (pthread_mutex_t *mutex, int decr) private = PTHREAD_ROBUST_MUTEX_PSHARED (mutex); if (__glibc_unlikely ((atomic_exchange_rel (&mutex->__data.__lock, 0) & FUTEX_WAITERS) != 0)) - lll_futex_wake (&mutex->__data.__lock, 1, private); + futex_wake ((unsigned int *) &mutex->__data.__lock, 1, private); /* We must clear op_pending after we release the mutex. FIXME However, this violates the mutex destruction requirements @@ -332,8 +332,8 @@ __pthread_mutex_unlock_full (pthread_mutex_t *mutex, int decr) &oldval, newval)); if ((oldval & ~PTHREAD_MUTEX_PRIO_CEILING_MASK) > 1) - lll_futex_wake (&mutex->__data.__lock, 1, - PTHREAD_MUTEX_PSHARED (mutex)); + futex_wake ((unsigned int *)&mutex->__data.__lock, 1, + PTHREAD_MUTEX_PSHARED (mutex)); int oldprio = newval >> PTHREAD_MUTEX_PRIO_CEILING_SHIFT; diff --git a/nptl/sem_post.c b/nptl/sem_post.c index 88cfc24..5dbfb3a 100644 --- a/nptl/sem_post.c +++ b/nptl/sem_post.c @@ -84,19 +84,14 @@ int attribute_compat_text_section __old_sem_post (sem_t *sem) { - int *futex = (int *) sem; + unsigned int *futex = (unsigned int *) sem; /* We must need to synchronize with consumers of this token, so the atomic increment must have release MO semantics. */ atomic_write_barrier (); (void) atomic_increment_val (futex); /* We always have to assume it is a shared semaphore. */ - int err = lll_futex_wake (futex, 1, LLL_SHARED); - if (__builtin_expect (err, 0) < 0) - { - __set_errno (-err); - return -1; - } + futex_wake (futex, 1, LLL_SHARED); return 0; } compat_symbol (libpthread, __old_sem_post, sem_post, GLIBC_2_0); |