summaryrefslogtreecommitdiff
path: root/sysdeps/generic/pt-mutex-timedlock.c
diff options
context:
space:
mode:
authorNeal H. Walfield <neal@gnu.org>2008-06-22 08:58:20 +0000
committerThomas Schwinge <tschwinge@gnu.org>2009-04-07 23:17:47 +0200
commit9eb270404ceced4a2dc49d875c0b4e674e0b51d4 (patch)
tree7fd3f264f155245944dab01eb637abcb64e176fa /sysdeps/generic/pt-mutex-timedlock.c
parente1e18be3d956df4b0b9cbbc67af1727c8742a294 (diff)
2008-06-22 Neal H. Walfield <neal@gnu.org>
* sysdeps/generic/pt-mutex-timedlock.c (__pthread_mutex_timedlock_internal): Don't set MUTEX->OWNER here. * sysdeps/generic/pt-mutex-unlock.c (__pthread_mutex_unlock): Set it here to WAKEUP.
Diffstat (limited to 'sysdeps/generic/pt-mutex-timedlock.c')
-rw-r--r--sysdeps/generic/pt-mutex-timedlock.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/sysdeps/generic/pt-mutex-timedlock.c b/sysdeps/generic/pt-mutex-timedlock.c
index 6db30c5..265a453 100644
--- a/sysdeps/generic/pt-mutex-timedlock.c
+++ b/sysdeps/generic/pt-mutex-timedlock.c
@@ -141,15 +141,16 @@ __pthread_mutex_timedlock_internal (struct __pthread_mutex *mutex,
else
__pthread_block (self);
- if (! mutex->attr || mutex->attr->mutex_type == PTHREAD_MUTEX_NORMAL)
- {
#ifndef NDEBUG
- mutex->owner = self;
+ assert (mutex->owner == self);
#endif
- }
- else
+
+ if (mutex->attr)
switch (mutex->attr->mutex_type)
{
+ case PTHREAD_MUTEX_NORMAL:
+ break;
+
case PTHREAD_MUTEX_RECURSIVE:
assert (mutex->locks == 0);
mutex->locks = 1;