summaryrefslogtreecommitdiff
path: root/tests/mutex6n.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/mutex6n.c')
-rw-r--r--tests/mutex6n.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/tests/mutex6n.c b/tests/mutex6n.c
index d982c4c..e006f24 100644
--- a/tests/mutex6n.c
+++ b/tests/mutex6n.c
@@ -49,10 +49,11 @@ void * locker(void * arg)
{
assert(pthread_mutex_lock(&mutex) == 0);
lockCount++;
- assert(pthread_mutex_lock(&mutex) != 0);
+
+ /* Should wait here (deadlocked) */
+ assert(pthread_mutex_lock(&mutex) == 0);
lockCount++;
assert(pthread_mutex_unlock(&mutex) == 0);
- assert(pthread_mutex_unlock(&mutex) == 0);
return (void *) 555;
}
@@ -76,6 +77,16 @@ main()
assert(lockCount == 1);
+ /*
+ * Should succeed even though we don't own the lock
+ * because FAST mutexes don't check ownership.
+ */
+ assert(pthread_mutex_unlock(&mutex) == 0);
+
+ Sleep (1000);
+
+ assert(lockCount == 2);
+
exit(0);
/* Never reached */