summaryrefslogtreecommitdiff
path: root/nptl/pthread_mutex_timedlock.c
diff options
context:
space:
mode:
Diffstat (limited to 'nptl/pthread_mutex_timedlock.c')
-rw-r--r--nptl/pthread_mutex_timedlock.c17
1 files changed, 2 insertions, 15 deletions
diff --git a/nptl/pthread_mutex_timedlock.c b/nptl/pthread_mutex_timedlock.c
index 138cdcc985..598c6a0710 100644
--- a/nptl/pthread_mutex_timedlock.c
+++ b/nptl/pthread_mutex_timedlock.c
@@ -42,11 +42,10 @@ __pthread_mutex_clocklock_common (pthread_mutex_t *mutex,
/* See concurrency notes regarding mutex type which is loaded from __kind
in struct __pthread_mutex_s in sysdeps/nptl/bits/thread-shared-types.h. */
- switch (__builtin_expect (PTHREAD_MUTEX_TYPE_ELISION (mutex),
+ switch (__builtin_expect (PTHREAD_MUTEX_TYPE (mutex),
PTHREAD_MUTEX_TIMED_NP))
{
/* Recursive mutex. */
- case PTHREAD_MUTEX_RECURSIVE_NP|PTHREAD_MUTEX_ELISION_NP:
case PTHREAD_MUTEX_RECURSIVE_NP:
/* Check whether we already hold the mutex. */
if (mutex->__data.__owner == id)
@@ -78,26 +77,14 @@ __pthread_mutex_clocklock_common (pthread_mutex_t *mutex,
if (__glibc_unlikely (mutex->__data.__owner == id))
return EDEADLK;
- /* Don't do lock elision on an error checking mutex. */
- goto simple;
+ /* FALLTHROUGH */
case PTHREAD_MUTEX_TIMED_NP:
- FORCE_ELISION (mutex, goto elision);
- simple:
/* Normal mutex. */
result = __futex_clocklock64 (&mutex->__data.__lock, clockid, abstime,
PTHREAD_MUTEX_PSHARED (mutex));
break;
- case PTHREAD_MUTEX_TIMED_ELISION_NP:
- elision: __attribute__((unused))
- /* Don't record ownership */
- return lll_clocklock_elision (mutex->__data.__lock,
- mutex->__data.__spins,
- clockid, abstime,
- PTHREAD_MUTEX_PSHARED (mutex));
-
-
case PTHREAD_MUTEX_ADAPTIVE_NP:
if (lll_trylock (mutex->__data.__lock) != 0)
{