diff options
Diffstat (limited to 'sysdeps/mach/hurd/pt-mutex-timedlock.c')
-rw-r--r-- | sysdeps/mach/hurd/pt-mutex-timedlock.c | 74 |
1 files changed, 36 insertions, 38 deletions
diff --git a/sysdeps/mach/hurd/pt-mutex-timedlock.c b/sysdeps/mach/hurd/pt-mutex-timedlock.c index 006a8d8..b6308f8 100644 --- a/sysdeps/mach/hurd/pt-mutex-timedlock.c +++ b/sysdeps/mach/hurd/pt-mutex-timedlock.c @@ -23,57 +23,55 @@ #include "pt-mutex.h" #include <hurdlock.h> -int pthread_mutex_timedlock (pthread_mutex_t *mtxp, - const struct timespec *tsp) +int +pthread_mutex_timedlock (pthread_mutex_t *mtxp, const struct timespec *tsp) { struct __pthread *self; int ret, flags = mtxp->__flags & GSYNC_SHARED; switch (MTX_TYPE (mtxp)) { - case PT_MTX_NORMAL: - ret = lll_abstimed_lock (&mtxp->__lock, tsp, flags); - break; + case PT_MTX_NORMAL: + ret = lll_abstimed_lock (&mtxp->__lock, tsp, flags); + break; - case PT_MTX_RECURSIVE: - self = _pthread_self (); - if (mtx_owned_p (mtxp, self, flags)) - { - if (__glibc_unlikely (mtxp->__cnt + 1 == 0)) - return (EAGAIN); + case PT_MTX_RECURSIVE: + self = _pthread_self (); + if (mtx_owned_p (mtxp, self, flags)) + { + if (__glibc_unlikely (mtxp->__cnt + 1 == 0)) + return (EAGAIN); - ++mtxp->__cnt; - ret = 0; - } - else if ((ret = lll_abstimed_lock (&mtxp->__lock, - tsp, flags)) == 0) - { - mtx_set_owner (mtxp, self, flags); - mtxp->__cnt = 1; - } + ++mtxp->__cnt; + ret = 0; + } + else if ((ret = lll_abstimed_lock (&mtxp->__lock, tsp, flags)) == 0) + { + mtx_set_owner (mtxp, self, flags); + mtxp->__cnt = 1; + } - break; + break; - case PT_MTX_ERRORCHECK: - self = _pthread_self (); - if (mtx_owned_p (mtxp, self, flags)) - ret = EDEADLK; - else if ((ret = lll_abstimed_lock (&mtxp->__lock, - tsp, flags)) == 0) - mtx_set_owner (mtxp, self, flags); + case PT_MTX_ERRORCHECK: + self = _pthread_self (); + if (mtx_owned_p (mtxp, self, flags)) + ret = EDEADLK; + else if ((ret = lll_abstimed_lock (&mtxp->__lock, tsp, flags)) == 0) + mtx_set_owner (mtxp, self, flags); - break; + break; - case PT_MTX_NORMAL | PTHREAD_MUTEX_ROBUST: - case PT_MTX_RECURSIVE | PTHREAD_MUTEX_ROBUST: - case PT_MTX_ERRORCHECK | PTHREAD_MUTEX_ROBUST: - self = _pthread_self (); - ROBUST_LOCK (self, mtxp, lll_robust_abstimed_lock, tsp, flags); - break; + case PT_MTX_NORMAL | PTHREAD_MUTEX_ROBUST: + case PT_MTX_RECURSIVE | PTHREAD_MUTEX_ROBUST: + case PT_MTX_ERRORCHECK | PTHREAD_MUTEX_ROBUST: + self = _pthread_self (); + ROBUST_LOCK (self, mtxp, lll_robust_abstimed_lock, tsp, flags); + break; - default: - ret = EINVAL; - break; + default: + ret = EINVAL; + break; } return (ret); |