|
From: <sv...@va...> - 2008-07-07 16:53:40
|
Author: bart
Date: 2008-07-07 17:53:45 +0100 (Mon, 07 Jul 2008)
New Revision: 8378
Log:
Enabled support for nesting mutexes and condition variables in higher-level synchronization primitives. Changed mutex tracing output slightly.
Modified:
trunk/drd/tests/Makefile.am
trunk/drd/tests/tc20_verifywrap2.stderr.exp-glibc2.3
trunk/drd/tests/tc20_verifywrap2.stderr.exp-glibc2.3-b
trunk/drd/tests/tc20_verifywrap2.stderr.exp-glibc2.5
trunk/drd/tests/tc20_verifywrap2.stderr.exp-glibc2.5-ppc
trunk/drd/tests/tc20_verifywrap2.stderr.exp-glibc2.8
Modified: trunk/drd/tests/Makefile.am
===================================================================
--- trunk/drd/tests/Makefile.am 2008-07-07 16:53:07 UTC (rev 8377)
+++ trunk/drd/tests/Makefile.am 2008-07-07 16:53:45 UTC (rev 8378)
@@ -92,6 +92,8 @@
pth_inconsistent_cond_wait.vgtest \
pth_spinlock.stderr.exp \
pth_spinlock.vgtest \
+ qt4_mutex.stderr.exp \
+ qt4_mutex.vgtest \
recursive_mutex.stderr.exp \
recursive_mutex.stdout.exp \
recursive_mutex.vgtest \
@@ -176,7 +178,7 @@
-I$(top_builddir)/include -I$(top_srcdir)/VEX/pub
AM_CXXFLAGS = $(AM_CFLAGS)
-check_PROGRAMS_COMMON = \
+check_PROGRAMS = \
drd_bitmap_test \
fp_race \
hg01_all_ok \
@@ -229,17 +231,15 @@
tc24_nonzero_sem \
trylock
-check_PROGRAMS_OPENMP = omp_matinv omp_prime
+if HAVE_QTCORE
+check_PROGRAMS += qt4_mutex
+endif
if HAVE_OPENMP
-check_PROGRAMS = $(check_PROGRAMS_COMMON) $(check_PROGRAMS_OPENMP)
-else
-check_PROGRAMS = $(check_PROGRAMS_COMMON)
+check_PROGRAMS += omp_matinv omp_prime
endif
-# tc14_laog_dinphils -- hangs.
-
drd_bitmap_test_SOURCES = drd_bitmap_test.c
drd_bitmap_test_CFLAGS = $(AM_CFLAGS) -O2 \
-DENABLE_DRD_CONSISTENCY_CHECKS\
@@ -306,6 +306,11 @@
pth_spinlock_SOURCES = pth_spinlock.c
pth_spinlock_LDADD = -lpthread
+if HAVE_QTCORE
+qt4_mutex_SOURCES = qt4_mutex.cpp
+qt4_mutex_LDADD = -lpthread -lQtCore
+endif
+
recursive_mutex_SOURCES = recursive_mutex.c
recursive_mutex_LDADD = -lpthread
Modified: trunk/drd/tests/tc20_verifywrap2.stderr.exp-glibc2.3
===================================================================
--- trunk/drd/tests/tc20_verifywrap2.stderr.exp-glibc2.3 2008-07-07 16:53:07 UTC (rev 8377)
+++ trunk/drd/tests/tc20_verifywrap2.stderr.exp-glibc2.3 2008-07-07 16:53:45 UTC (rev 8378)
@@ -41,7 +41,7 @@
at 0x........: pthread_mutex_trylock (drd_pthread_intercepts.c:?)
by 0x........: main (tc20_verifywrap.c:116)
[1/1] post_mutex_lock invalid mutex 0x........ rc 0 owner 0 (locking failed)
-[1/1] pre_mutex_lock invalid mutex 0x........ rc 0 owner 0
+[1/1] mutex_trylock invalid mutex 0x........ rc 0 owner 0
The object at address 0x........ is not a mutex.
at 0x........: pthread_mutex_timedlock (drd_pthread_intercepts.c:?)
@@ -160,57 +160,57 @@
Destroying locked rwlock: rwlock 0x.........
at 0x........: main (tc20_verifywrap.c:262)
-[1/1] mutex_destroy error checking mutex 0x........
+[1/1] mutex_destroy error checking mutex 0x........ rc 1 owner 1
Destroying locked mutex: mutex 0x........, recursion count 1, owner 1.
at 0x........: main (tc20_verifywrap.c:262)
-[1/1] mutex_destroy invalid mutex 0x........
-[1/1] pre_mutex_lock recursive mutex 0x........ rc 0 owner 0
+[1/1] mutex_destroy invalid mutex 0x........ rc 0 owner 0
+[1/1] mutex_trylock recursive mutex 0x........ rc 0 owner 0
[1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 0
[1/1] mutex_unlock recursive mutex 0x........ rc 1
-[1/1] pre_mutex_lock recursive mutex 0x........ rc 0 owner 1
+[1/1] mutex_trylock recursive mutex 0x........ rc 0 owner 1
[1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 1
[1/1] mutex_unlock recursive mutex 0x........ rc 1
-[1/1] pre_mutex_lock recursive mutex 0x........ rc 0 owner 1
+[1/1] mutex_trylock recursive mutex 0x........ rc 0 owner 1
[1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 1
[1/1] mutex_unlock recursive mutex 0x........ rc 1
-[1/1] pre_mutex_lock recursive mutex 0x........ rc 0 owner 1
+[1/1] mutex_trylock recursive mutex 0x........ rc 0 owner 1
[1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 1
[1/1] mutex_unlock recursive mutex 0x........ rc 1
-[1/1] pre_mutex_lock recursive mutex 0x........ rc 0 owner 1
+[1/1] mutex_trylock recursive mutex 0x........ rc 0 owner 1
[1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 1
[1/1] mutex_unlock recursive mutex 0x........ rc 1
-[1/1] pre_mutex_lock recursive mutex 0x........ rc 0 owner 1
+[1/1] mutex_trylock recursive mutex 0x........ rc 0 owner 1
[1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 1
[1/1] mutex_unlock recursive mutex 0x........ rc 1
-[1/1] pre_mutex_lock recursive mutex 0x........ rc 0 owner 1
+[1/1] mutex_trylock recursive mutex 0x........ rc 0 owner 1
[1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 1
[1/1] mutex_unlock recursive mutex 0x........ rc 1
-[1/1] pre_mutex_lock recursive mutex 0x........ rc 0 owner 1
+[1/1] mutex_trylock recursive mutex 0x........ rc 0 owner 1
[1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 1
[1/1] mutex_unlock recursive mutex 0x........ rc 1
-[1/1] pre_mutex_lock recursive mutex 0x........ rc 0 owner 1
+[1/1] mutex_trylock recursive mutex 0x........ rc 0 owner 1
[1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 1
[1/1] mutex_unlock recursive mutex 0x........ rc 1
-[1/1] pre_mutex_lock recursive mutex 0x........ rc 0 owner 1
+[1/1] mutex_trylock recursive mutex 0x........ rc 0 owner 1
[1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 1
[1/1] mutex_unlock recursive mutex 0x........ rc 1
-[1/1] pre_mutex_lock recursive mutex 0x........ rc 0 owner 1
+[1/1] mutex_trylock recursive mutex 0x........ rc 0 owner 1
[1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 1
[1/1] mutex_unlock recursive mutex 0x........ rc 1
-[1/1] pre_mutex_lock recursive mutex 0x........ rc 0 owner 1
+[1/1] mutex_trylock recursive mutex 0x........ rc 0 owner 1
[1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 1
[1/1] mutex_unlock recursive mutex 0x........ rc 1
-[1/1] pre_mutex_lock recursive mutex 0x........ rc 0 owner 1
+[1/1] mutex_trylock recursive mutex 0x........ rc 0 owner 1
[1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 1
[1/1] mutex_unlock recursive mutex 0x........ rc 1
-[1/1] pre_mutex_lock recursive mutex 0x........ rc 0 owner 1
+[1/1] mutex_trylock recursive mutex 0x........ rc 0 owner 1
[1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 1
[1/1] mutex_unlock recursive mutex 0x........ rc 1
-[1/1] pre_mutex_lock recursive mutex 0x........ rc 0 owner 1
+[1/1] mutex_trylock recursive mutex 0x........ rc 0 owner 1
[1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 1
[1/1] mutex_unlock recursive mutex 0x........ rc 1
-[1/1] pre_mutex_lock recursive mutex 0x........ rc 0 owner 1
+[1/1] mutex_trylock recursive mutex 0x........ rc 0 owner 1
[1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 1
[1/1] mutex_unlock recursive mutex 0x........ rc 1
Modified: trunk/drd/tests/tc20_verifywrap2.stderr.exp-glibc2.3-b
===================================================================
--- trunk/drd/tests/tc20_verifywrap2.stderr.exp-glibc2.3-b 2008-07-07 16:53:07 UTC (rev 8377)
+++ trunk/drd/tests/tc20_verifywrap2.stderr.exp-glibc2.3-b 2008-07-07 16:53:45 UTC (rev 8378)
@@ -41,7 +41,7 @@
at 0x........: pthread_mutex_trylock (drd_pthread_intercepts.c:?)
by 0x........: main (tc20_verifywrap.c:116)
[1/1] post_mutex_lock invalid mutex 0x........ rc 0 owner 0 (locking failed)
-[1/1] pre_mutex_lock invalid mutex 0x........ rc 0 owner 0
+[1/1] mutex_trylock invalid mutex 0x........ rc 0 owner 0
The object at address 0x........ is not a mutex.
at 0x........: pthread_mutex_timedlock (drd_pthread_intercepts.c:?)
Modified: trunk/drd/tests/tc20_verifywrap2.stderr.exp-glibc2.5
===================================================================
--- trunk/drd/tests/tc20_verifywrap2.stderr.exp-glibc2.5 2008-07-07 16:53:07 UTC (rev 8377)
+++ trunk/drd/tests/tc20_verifywrap2.stderr.exp-glibc2.5 2008-07-07 16:53:45 UTC (rev 8378)
@@ -22,14 +22,14 @@
at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
by 0x........: main (tc20_verifywrap.c:92)
[1/1] mutex_init mutex 0x........
-[1/1] pre_mutex_lock mutex 0x........ rc 0 owner 0
+[1/1] mutex_trylock mutex 0x........ rc 0 owner 0
[1/1] post_mutex_lock mutex 0x........ rc 0 owner 0
-[1/1] mutex_destroy mutex 0x........
+[1/1] mutex_destroy mutex 0x........ rc 1 owner 1
Destroying locked mutex: mutex 0x........, recursion count 1, owner 1.
at 0x........: pthread_mutex_destroy (drd_pthread_intercepts.c:?)
by 0x........: main (tc20_verifywrap.c:102)
-[1/1] pre_mutex_lock invalid mutex 0x........ rc 0 owner 0
+[1/1] mutex_trylock invalid mutex 0x........ rc 0 owner 0
The object at address 0x........ is not a mutex.
at 0x........: pthread_mutex_lock (drd_pthread_intercepts.c:?)
@@ -47,7 +47,7 @@
at 0x........: pthread_mutex_lock (drd_pthread_intercepts.c:?)
by 0x........: main (tc20_verifywrap.c:108)
[1/1] post_mutex_lock invalid mutex 0x........ rc 0 owner 0 (locking failed)
-[1/1] pre_mutex_lock invalid mutex 0x........ rc 0 owner 0
+[1/1] mutex_trylock invalid mutex 0x........ rc 0 owner 0
The object at address 0x........ is not a mutex.
at 0x........: pthread_mutex_timedlock (drd_pthread_intercepts.c:?)
@@ -166,57 +166,57 @@
Destroying locked rwlock: rwlock 0x.........
at 0x........: main (tc20_verifywrap.c:262)
-[1/1] mutex_destroy error checking mutex 0x........
+[1/1] mutex_destroy error checking mutex 0x........ rc 1 owner 1
Destroying locked mutex: mutex 0x........, recursion count 1, owner 1.
at 0x........: main (tc20_verifywrap.c:262)
-[1/1] mutex_destroy invalid mutex 0x........
-[1/1] pre_mutex_lock recursive mutex 0x........ rc 0 owner 0
+[1/1] mutex_destroy invalid mutex 0x........ rc 0 owner 0
+[1/1] mutex_trylock recursive mutex 0x........ rc 0 owner 0
[1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 0
[1/1] mutex_unlock recursive mutex 0x........ rc 1
-[1/1] pre_mutex_lock recursive mutex 0x........ rc 0 owner 1
+[1/1] mutex_trylock recursive mutex 0x........ rc 0 owner 1
[1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 1
[1/1] mutex_unlock recursive mutex 0x........ rc 1
-[1/1] pre_mutex_lock recursive mutex 0x........ rc 0 owner 1
+[1/1] mutex_trylock recursive mutex 0x........ rc 0 owner 1
[1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 1
[1/1] mutex_unlock recursive mutex 0x........ rc 1
-[1/1] pre_mutex_lock recursive mutex 0x........ rc 0 owner 1
+[1/1] mutex_trylock recursive mutex 0x........ rc 0 owner 1
[1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 1
[1/1] mutex_unlock recursive mutex 0x........ rc 1
-[1/1] pre_mutex_lock recursive mutex 0x........ rc 0 owner 1
+[1/1] mutex_trylock recursive mutex 0x........ rc 0 owner 1
[1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 1
[1/1] mutex_unlock recursive mutex 0x........ rc 1
-[1/1] pre_mutex_lock recursive mutex 0x........ rc 0 owner 1
+[1/1] mutex_trylock recursive mutex 0x........ rc 0 owner 1
[1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 1
[1/1] mutex_unlock recursive mutex 0x........ rc 1
-[1/1] pre_mutex_lock recursive mutex 0x........ rc 0 owner 1
+[1/1] mutex_trylock recursive mutex 0x........ rc 0 owner 1
[1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 1
[1/1] mutex_unlock recursive mutex 0x........ rc 1
-[1/1] pre_mutex_lock recursive mutex 0x........ rc 0 owner 1
+[1/1] mutex_trylock recursive mutex 0x........ rc 0 owner 1
[1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 1
[1/1] mutex_unlock recursive mutex 0x........ rc 1
-[1/1] pre_mutex_lock recursive mutex 0x........ rc 0 owner 1
+[1/1] mutex_trylock recursive mutex 0x........ rc 0 owner 1
[1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 1
[1/1] mutex_unlock recursive mutex 0x........ rc 1
-[1/1] pre_mutex_lock recursive mutex 0x........ rc 0 owner 1
+[1/1] mutex_trylock recursive mutex 0x........ rc 0 owner 1
[1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 1
[1/1] mutex_unlock recursive mutex 0x........ rc 1
-[1/1] pre_mutex_lock recursive mutex 0x........ rc 0 owner 1
+[1/1] mutex_trylock recursive mutex 0x........ rc 0 owner 1
[1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 1
[1/1] mutex_unlock recursive mutex 0x........ rc 1
-[1/1] pre_mutex_lock recursive mutex 0x........ rc 0 owner 1
+[1/1] mutex_trylock recursive mutex 0x........ rc 0 owner 1
[1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 1
[1/1] mutex_unlock recursive mutex 0x........ rc 1
-[1/1] pre_mutex_lock recursive mutex 0x........ rc 0 owner 1
+[1/1] mutex_trylock recursive mutex 0x........ rc 0 owner 1
[1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 1
[1/1] mutex_unlock recursive mutex 0x........ rc 1
-[1/1] pre_mutex_lock recursive mutex 0x........ rc 0 owner 1
+[1/1] mutex_trylock recursive mutex 0x........ rc 0 owner 1
[1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 1
[1/1] mutex_unlock recursive mutex 0x........ rc 1
-[1/1] pre_mutex_lock recursive mutex 0x........ rc 0 owner 1
+[1/1] mutex_trylock recursive mutex 0x........ rc 0 owner 1
[1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 1
[1/1] mutex_unlock recursive mutex 0x........ rc 1
-[1/1] pre_mutex_lock recursive mutex 0x........ rc 0 owner 1
+[1/1] mutex_trylock recursive mutex 0x........ rc 0 owner 1
[1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 1
[1/1] mutex_unlock recursive mutex 0x........ rc 1
Modified: trunk/drd/tests/tc20_verifywrap2.stderr.exp-glibc2.5-ppc
===================================================================
--- trunk/drd/tests/tc20_verifywrap2.stderr.exp-glibc2.5-ppc 2008-07-07 16:53:07 UTC (rev 8377)
+++ trunk/drd/tests/tc20_verifywrap2.stderr.exp-glibc2.5-ppc 2008-07-07 16:53:45 UTC (rev 8378)
@@ -22,14 +22,14 @@
at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
by 0x........: main (tc20_verifywrap.c:92)
[1/1] mutex_init mutex 0x........
-[1/1] pre_mutex_lock mutex 0x........ rc 0 owner 0
+[1/1] mutex_trylock mutex 0x........ rc 0 owner 0
[1/1] post_mutex_lock mutex 0x........ rc 0 owner 0
-[1/1] mutex_destroy mutex 0x........
+[1/1] mutex_destroy mutex 0x........ rc 1 owner 1
Destroying locked mutex: mutex 0x........, recursion count 1, owner 1.
at 0x........: pthread_mutex_destroy (drd_pthread_intercepts.c:?)
by 0x........: main (tc20_verifywrap.c:102)
-[1/1] pre_mutex_lock invalid mutex 0x........ rc 0 owner 0
+[1/1] mutex_trylock invalid mutex 0x........ rc 0 owner 0
The object at address 0x........ is not a mutex.
at 0x........: pthread_mutex_lock (drd_pthread_intercepts.c:?)
@@ -47,7 +47,7 @@
at 0x........: pthread_mutex_lock (drd_pthread_intercepts.c:?)
by 0x........: main (tc20_verifywrap.c:108)
[1/1] post_mutex_lock invalid mutex 0x........ rc 0 owner 0 (locking failed)
-[1/1] pre_mutex_lock invalid mutex 0x........ rc 0 owner 0
+[1/1] mutex_trylock invalid mutex 0x........ rc 0 owner 0
The object at address 0x........ is not a mutex.
at 0x........: pthread_mutex_timedlock (drd_pthread_intercepts.c:?)
Modified: trunk/drd/tests/tc20_verifywrap2.stderr.exp-glibc2.8
===================================================================
--- trunk/drd/tests/tc20_verifywrap2.stderr.exp-glibc2.8 2008-07-07 16:53:07 UTC (rev 8377)
+++ trunk/drd/tests/tc20_verifywrap2.stderr.exp-glibc2.8 2008-07-07 16:53:45 UTC (rev 8378)
@@ -22,14 +22,14 @@
at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
by 0x........: main (tc20_verifywrap.c:92)
[1/1] mutex_init mutex 0x........
-[1/1] pre_mutex_lock mutex 0x........ rc 0 owner 0
+[1/1] mutex_trylock mutex 0x........ rc 0 owner 0
[1/1] post_mutex_lock mutex 0x........ rc 0 owner 0
-[1/1] mutex_destroy mutex 0x........
+[1/1] mutex_destroy mutex 0x........ rc 1 owner 1
Destroying locked mutex: mutex 0x........, recursion count 1, owner 1.
at 0x........: pthread_mutex_destroy (drd_pthread_intercepts.c:?)
by 0x........: main (tc20_verifywrap.c:102)
-[1/1] pre_mutex_lock invalid mutex 0x........ rc 0 owner 0
+[1/1] mutex_trylock invalid mutex 0x........ rc 0 owner 0
The object at address 0x........ is not a mutex.
at 0x........: pthread_mutex_lock (drd_pthread_intercepts.c:?)
@@ -47,7 +47,7 @@
at 0x........: pthread_mutex_lock (drd_pthread_intercepts.c:?)
by 0x........: main (tc20_verifywrap.c:108)
[1/1] post_mutex_lock invalid mutex 0x........ rc 0 owner 0 (locking failed)
-[1/1] pre_mutex_lock invalid mutex 0x........ rc 0 owner 0
+[1/1] mutex_trylock invalid mutex 0x........ rc 0 owner 0
The object at address 0x........ is not a mutex.
at 0x........: pthread_mutex_timedlock (drd_pthread_intercepts.c:?)
|