|
From: <sv...@va...> - 2009-02-14 13:10:58
|
Author: bart
Date: 2009-02-14 11:54:42 +0000 (Sat, 14 Feb 2009)
New Revision: 9148
Log:
Renamed vg_thread_wrapper() into DRD_(thread_wrapper)().
Modified:
trunk/drd/drd_pthread_intercepts.c
trunk/drd/tests/atomic_var.stderr.exp-with-atomic-builtins-1
trunk/drd/tests/atomic_var.stderr.exp-with-atomic-builtins-2
trunk/drd/tests/hg03_inherit.stderr.exp
trunk/drd/tests/hg04_race.stderr.exp
trunk/drd/tests/hg05_race2.stderr.exp
trunk/drd/tests/hg05_race2.stderr.exp-powerpc
trunk/drd/tests/pth_cond_race.stderr.exp
trunk/drd/tests/pth_create_chain.stderr.exp-ppc
trunk/drd/tests/pth_inconsistent_cond_wait.stderr.exp1
trunk/drd/tests/pth_inconsistent_cond_wait.stderr.exp2
trunk/drd/tests/rwlock_race.stderr.exp
trunk/drd/tests/rwlock_race.stderr.exp2
trunk/drd/tests/tc09_bad_unlock.stderr.exp
trunk/drd/tests/tc09_bad_unlock.stderr.exp-glibc2.8
trunk/drd/tests/tc22_exit_w_lock.stderr.exp-64bit
trunk/drd/tests/tc23_bogus_condwait.stderr.exp
Modified: trunk/drd/drd_pthread_intercepts.c
===================================================================
--- trunk/drd/drd_pthread_intercepts.c 2009-02-14 10:58:45 UTC (rev 9147)
+++ trunk/drd/drd_pthread_intercepts.c 2009-02-14 11:54:42 UTC (rev 9148)
@@ -54,6 +54,7 @@
#include <stdlib.h>
#include <unistd.h> // confstr()
#include "config.h"
+#include "drd_basics.h"
#include "drd_clientreq.h"
#include "pub_tool_redir.h"
@@ -166,7 +167,7 @@
tid, joinable, 0, 0, 0);
}
-static void* vg_thread_wrapper(void* arg)
+static void* DRD_(thread_wrapper)(void* arg)
{
int res;
@@ -292,7 +293,7 @@
/* Suppress NPTL-specific conflicts between creator and created thread. */
VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__DRD_STOP_RECORDING,
0, 0, 0, 0, 0);
- CALL_FN_W_WWWW(ret, fn, thread, attr, vg_thread_wrapper, &vgargs);
+ CALL_FN_W_WWWW(ret, fn, thread, attr, DRD_(thread_wrapper), &vgargs);
VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__DRD_START_RECORDING,
0, 0, 0, 0, 0);
#if 0
Modified: trunk/drd/tests/atomic_var.stderr.exp-with-atomic-builtins-1
===================================================================
--- trunk/drd/tests/atomic_var.stderr.exp-with-atomic-builtins-1 2009-02-14 10:58:45 UTC (rev 9147)
+++ trunk/drd/tests/atomic_var.stderr.exp-with-atomic-builtins-1 2009-02-14 11:54:42 UTC (rev 9148)
@@ -3,7 +3,7 @@
Thread 2:
Conflicting load by thread 2/3 at 0x........ size 4
at 0x........: thread_func_2 (atomic_var.c:?)
- by 0x........: vg_thread_wrapper (drd_pthread_intercepts.c:?)
+ by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
by 0x........: (within libpthread-?.?.so)
by 0x........: clone (in /...libc...)
Location 0x........ is 0 bytes inside local var "s_y"
Modified: trunk/drd/tests/atomic_var.stderr.exp-with-atomic-builtins-2
===================================================================
--- trunk/drd/tests/atomic_var.stderr.exp-with-atomic-builtins-2 2009-02-14 10:58:45 UTC (rev 9147)
+++ trunk/drd/tests/atomic_var.stderr.exp-with-atomic-builtins-2 2009-02-14 11:54:42 UTC (rev 9148)
@@ -3,7 +3,7 @@
Thread 3:
Conflicting load by thread 3/3 at 0x........ size 4
at 0x........: thread_func_2 (atomic_var.c:?)
- by 0x........: vg_thread_wrapper (drd_pthread_intercepts.c:?)
+ by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
by 0x........: (within libpthread-?.?.so)
by 0x........: clone (in /...libc...)
Location 0x........ is 0 bytes inside local var "s_y"
Modified: trunk/drd/tests/hg03_inherit.stderr.exp
===================================================================
--- trunk/drd/tests/hg03_inherit.stderr.exp 2009-02-14 10:58:45 UTC (rev 9147)
+++ trunk/drd/tests/hg03_inherit.stderr.exp 2009-02-14 11:54:42 UTC (rev 9148)
@@ -2,7 +2,7 @@
Thread 3:
Conflicting store by thread 3/3 at 0x........ size 4
at 0x........: t2 (hg03_inherit.c:28)
- by 0x........: vg_thread_wrapper (drd_pthread_intercepts.c:?)
+ by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
by 0x........: (within libpthread-?.?.so)
by 0x........: clone (in /...libc...)
Location 0x........ is 0 bytes inside shared[1],
@@ -10,7 +10,7 @@
Conflicting store by thread 3/3 at 0x........ size 4
at 0x........: t2 (hg03_inherit.c:29)
- by 0x........: vg_thread_wrapper (drd_pthread_intercepts.c:?)
+ by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
by 0x........: (within libpthread-?.?.so)
by 0x........: clone (in /...libc...)
Location 0x........ is 0 bytes inside shared[1],
Modified: trunk/drd/tests/hg04_race.stderr.exp
===================================================================
--- trunk/drd/tests/hg04_race.stderr.exp 2009-02-14 10:58:45 UTC (rev 9147)
+++ trunk/drd/tests/hg04_race.stderr.exp 2009-02-14 11:54:42 UTC (rev 9148)
@@ -2,7 +2,7 @@
Thread 2:
Conflicting load by thread 2/3 at 0x........ size 4
at 0x........: th (hg04_race.c:10)
- by 0x........: vg_thread_wrapper (drd_pthread_intercepts.c:?)
+ by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
by 0x........: (within libpthread-?.?.so)
by 0x........: clone (in /...libc...)
Location 0x........ is 0 bytes inside local var "shared"
@@ -14,7 +14,7 @@
Conflicting store by thread 2/3 at 0x........ size 4
at 0x........: th (hg04_race.c:10)
- by 0x........: vg_thread_wrapper (drd_pthread_intercepts.c:?)
+ by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
by 0x........: (within libpthread-?.?.so)
by 0x........: clone (in /...libc...)
Location 0x........ is 0 bytes inside local var "shared"
Modified: trunk/drd/tests/hg05_race2.stderr.exp
===================================================================
--- trunk/drd/tests/hg05_race2.stderr.exp 2009-02-14 10:58:45 UTC (rev 9147)
+++ trunk/drd/tests/hg05_race2.stderr.exp 2009-02-14 11:54:42 UTC (rev 9148)
@@ -2,7 +2,7 @@
Thread 2:
Conflicting load by thread 2/3 at 0x........ size 4
at 0x........: th (hg05_race2.c:17)
- by 0x........: vg_thread_wrapper (drd_pthread_intercepts.c:?)
+ by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
by 0x........: (within libpthread-?.?.so)
by 0x........: clone (in /...libc...)
Location 0x........ is 0 bytes inside foo.poot[5].plop[11],
@@ -14,7 +14,7 @@
Conflicting store by thread 2/3 at 0x........ size 4
at 0x........: th (hg05_race2.c:17)
- by 0x........: vg_thread_wrapper (drd_pthread_intercepts.c:?)
+ by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
by 0x........: (within libpthread-?.?.so)
by 0x........: clone (in /...libc...)
Location 0x........ is 0 bytes inside foo.poot[5].plop[11],
Modified: trunk/drd/tests/hg05_race2.stderr.exp-powerpc
===================================================================
--- trunk/drd/tests/hg05_race2.stderr.exp-powerpc 2009-02-14 10:58:45 UTC (rev 9147)
+++ trunk/drd/tests/hg05_race2.stderr.exp-powerpc 2009-02-14 11:54:42 UTC (rev 9148)
@@ -2,7 +2,7 @@
Thread 2:
Conflicting load by thread 2/3 at 0x........ size 4
at 0x........: th (hg05_race2.c:17)
- by 0x........: vg_thread_wrapper (drd_pthread_intercepts.c:?)
+ by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
by 0x........: (within libpthread-?.?.so)
by 0x........: clone (in /...libc...)
Allocation context: unknown.
@@ -13,7 +13,7 @@
Conflicting store by thread 2/3 at 0x........ size 4
at 0x........: th (hg05_race2.c:17)
- by 0x........: vg_thread_wrapper (drd_pthread_intercepts.c:?)
+ by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
by 0x........: (within libpthread-?.?.so)
by 0x........: clone (in /...libc...)
Allocation context: unknown.
Modified: trunk/drd/tests/pth_cond_race.stderr.exp
===================================================================
--- trunk/drd/tests/pth_cond_race.stderr.exp 2009-02-14 10:58:45 UTC (rev 9147)
+++ trunk/drd/tests/pth_cond_race.stderr.exp 2009-02-14 11:54:42 UTC (rev 9148)
@@ -3,7 +3,7 @@
Probably a race condition: condition variable 0x........ has been signaled but the associated mutex 0x........ is not locked by the signalling thread.
at 0x........: pthread_cond_signal* (drd_pthread_intercepts.c:?)
by 0x........: thread_func (pth_cond_race.c:?)
- by 0x........: vg_thread_wrapper (drd_pthread_intercepts.c:?)
+ by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
by 0x........: (within libpthread-?.?.so)
by 0x........: clone (in /...libc...)
cond 0x........ was first observed at:
Modified: trunk/drd/tests/pth_create_chain.stderr.exp-ppc
===================================================================
--- trunk/drd/tests/pth_create_chain.stderr.exp-ppc 2009-02-14 10:58:45 UTC (rev 9147)
+++ trunk/drd/tests/pth_create_chain.stderr.exp-ppc 2009-02-14 11:54:42 UTC (rev 9148)
@@ -2,7 +2,7 @@
Emulation fatal error -- Valgrind cannot continue:
PPC64 function redirection stack overflow
at 0x........: ???
- by 0x........: vg_thread_wrapper (drd_pthread_intercepts.c:?)
+ by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
by 0x........: (within libpthread-?.?.so)
by 0x........: clone (in /...libc...)
Modified: trunk/drd/tests/pth_inconsistent_cond_wait.stderr.exp1
===================================================================
--- trunk/drd/tests/pth_inconsistent_cond_wait.stderr.exp1 2009-02-14 10:58:45 UTC (rev 9147)
+++ trunk/drd/tests/pth_inconsistent_cond_wait.stderr.exp1 2009-02-14 11:54:42 UTC (rev 9148)
@@ -3,7 +3,7 @@
Inconsistent association of condition variable and mutex: condition variable 0x........, mutexes 0x........ and 0x........
at 0x........: pthread_cond_wait* (drd_pthread_intercepts.c:?)
by 0x........: thread2 (pth_inconsistent_cond_wait.c:?)
- by 0x........: vg_thread_wrapper (drd_pthread_intercepts.c:?)
+ by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
by 0x........: (within libpthread-?.?.so)
by 0x........: clone (in /...libc...)
cond 0x........ was first observed at:
Modified: trunk/drd/tests/pth_inconsistent_cond_wait.stderr.exp2
===================================================================
--- trunk/drd/tests/pth_inconsistent_cond_wait.stderr.exp2 2009-02-14 10:58:45 UTC (rev 9147)
+++ trunk/drd/tests/pth_inconsistent_cond_wait.stderr.exp2 2009-02-14 11:54:42 UTC (rev 9148)
@@ -3,7 +3,7 @@
Inconsistent association of condition variable and mutex: condition variable 0x........, mutexes 0x........ and 0x........
at 0x........: pthread_cond_wait* (drd_pthread_intercepts.c:?)
by 0x........: thread1 (pth_inconsistent_cond_wait.c:?)
- by 0x........: vg_thread_wrapper (drd_pthread_intercepts.c:?)
+ by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
by 0x........: (within libpthread-?.?.so)
by 0x........: clone (in /...libc...)
cond 0x........ was first observed at:
Modified: trunk/drd/tests/rwlock_race.stderr.exp
===================================================================
--- trunk/drd/tests/rwlock_race.stderr.exp 2009-02-14 10:58:45 UTC (rev 9147)
+++ trunk/drd/tests/rwlock_race.stderr.exp 2009-02-14 11:54:42 UTC (rev 9148)
@@ -2,7 +2,7 @@
Thread 3:
Conflicting load by thread 3/3 at 0x........ size 4
at 0x........: thread_func (rwlock_race.c:?)
- by 0x........: vg_thread_wrapper (drd_pthread_intercepts.c:?)
+ by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
by 0x........: (within libpthread-?.?.so)
by 0x........: clone (in /...libc...)
Location 0x........ is 0 bytes inside local var "s_racy"
@@ -10,19 +10,19 @@
Other segment start (thread 2/2)
at 0x........: pthread_rwlock_rdlock* (drd_pthread_intercepts.c:?)
by 0x........: thread_func (rwlock_race.c:?)
- by 0x........: vg_thread_wrapper (drd_pthread_intercepts.c:?)
+ by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
by 0x........: (within libpthread-?.?.so)
by 0x........: clone (in /...libc...)
Other segment end (thread 2/2)
at 0x........: pthread_rwlock_unlock* (drd_pthread_intercepts.c:?)
by 0x........: thread_func (rwlock_race.c:?)
- by 0x........: vg_thread_wrapper (drd_pthread_intercepts.c:?)
+ by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
by 0x........: (within libpthread-?.?.so)
by 0x........: clone (in /...libc...)
Conflicting store by thread 3/3 at 0x........ size 4
at 0x........: thread_func (rwlock_race.c:?)
- by 0x........: vg_thread_wrapper (drd_pthread_intercepts.c:?)
+ by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
by 0x........: (within libpthread-?.?.so)
by 0x........: clone (in /...libc...)
Location 0x........ is 0 bytes inside local var "s_racy"
@@ -30,13 +30,13 @@
Other segment start (thread 2/2)
at 0x........: pthread_rwlock_rdlock* (drd_pthread_intercepts.c:?)
by 0x........: thread_func (rwlock_race.c:?)
- by 0x........: vg_thread_wrapper (drd_pthread_intercepts.c:?)
+ by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
by 0x........: (within libpthread-?.?.so)
by 0x........: clone (in /...libc...)
Other segment end (thread 2/2)
at 0x........: pthread_rwlock_unlock* (drd_pthread_intercepts.c:?)
by 0x........: thread_func (rwlock_race.c:?)
- by 0x........: vg_thread_wrapper (drd_pthread_intercepts.c:?)
+ by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
by 0x........: (within libpthread-?.?.so)
by 0x........: clone (in /...libc...)
Result: 2
Modified: trunk/drd/tests/rwlock_race.stderr.exp2
===================================================================
--- trunk/drd/tests/rwlock_race.stderr.exp2 2009-02-14 10:58:45 UTC (rev 9147)
+++ trunk/drd/tests/rwlock_race.stderr.exp2 2009-02-14 11:54:42 UTC (rev 9148)
@@ -2,7 +2,7 @@
Thread 3:
Conflicting load by thread 3/3 at 0x........ size 4
at 0x........: thread (rwlock_race.c:?)
- by 0x........: vg_thread_wrapper (drd_pthread_intercepts.c:?)
+ by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
by 0x........: (within libpthread-?.?.so)
by 0x........: clone (in /...libc...)
Location 0x........ is 0 bytes inside local var "s_racy"
@@ -14,7 +14,7 @@
Conflicting store by thread 3/3 at 0x........ size 4
at 0x........: thread (rwlock_race.c:?)
- by 0x........: vg_thread_wrapper (drd_pthread_intercepts.c:?)
+ by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
by 0x........: (within libpthread-?.?.so)
by 0x........: clone (in /...libc...)
Location 0x........ is 0 bytes inside local var "s_racy"
Modified: trunk/drd/tests/tc09_bad_unlock.stderr.exp
===================================================================
--- trunk/drd/tests/tc09_bad_unlock.stderr.exp 2009-02-14 10:58:45 UTC (rev 9147)
+++ trunk/drd/tests/tc09_bad_unlock.stderr.exp 2009-02-14 11:54:42 UTC (rev 9148)
@@ -12,7 +12,7 @@
Mutex not locked by calling thread: mutex 0x........, recursion count 1, owner 1.
at 0x........: pthread_mutex_unlock (drd_pthread_intercepts.c:?)
by 0x........: child_fn (tc09_bad_unlock.c:11)
- by 0x........: vg_thread_wrapper (drd_pthread_intercepts.c:?)
+ by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
by 0x........: (within libpthread-?.?.so)
by 0x........: clone (in /...libc...)
mutex 0x........ was first observed at:
@@ -44,7 +44,7 @@
Mutex not locked by calling thread: mutex 0x........, recursion count 1, owner 1.
at 0x........: pthread_mutex_unlock (drd_pthread_intercepts.c:?)
by 0x........: child_fn (tc09_bad_unlock.c:11)
- by 0x........: vg_thread_wrapper (drd_pthread_intercepts.c:?)
+ by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
by 0x........: (within libpthread-?.?.so)
by 0x........: clone (in /...libc...)
mutex 0x........ was first observed at:
Modified: trunk/drd/tests/tc09_bad_unlock.stderr.exp-glibc2.8
===================================================================
--- trunk/drd/tests/tc09_bad_unlock.stderr.exp-glibc2.8 2009-02-14 10:58:45 UTC (rev 9147)
+++ trunk/drd/tests/tc09_bad_unlock.stderr.exp-glibc2.8 2009-02-14 11:54:42 UTC (rev 9148)
@@ -12,7 +12,7 @@
Mutex not locked by calling thread: mutex 0x........, recursion count 1, owner 1.
at 0x........: pthread_mutex_unlock (drd_pthread_intercepts.c:?)
by 0x........: child_fn (tc09_bad_unlock.c:11)
- by 0x........: vg_thread_wrapper (drd_pthread_intercepts.c:?)
+ by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
by 0x........: (within libpthread-?.?.so)
by 0x........: clone (in /...libc...)
mutex 0x........ was first observed at:
@@ -44,7 +44,7 @@
Mutex not locked by calling thread: mutex 0x........, recursion count 1, owner 1.
at 0x........: pthread_mutex_unlock (drd_pthread_intercepts.c:?)
by 0x........: child_fn (tc09_bad_unlock.c:11)
- by 0x........: vg_thread_wrapper (drd_pthread_intercepts.c:?)
+ by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
by 0x........: (within libpthread-?.?.so)
by 0x........: clone (in /...libc...)
mutex 0x........ was first observed at:
Modified: trunk/drd/tests/tc22_exit_w_lock.stderr.exp-64bit
===================================================================
--- trunk/drd/tests/tc22_exit_w_lock.stderr.exp-64bit 2009-02-14 10:58:45 UTC (rev 9147)
+++ trunk/drd/tests/tc22_exit_w_lock.stderr.exp-64bit 2009-02-14 11:54:42 UTC (rev 9148)
@@ -5,7 +5,7 @@
mutex 0x........ was first observed at:
at 0x........: pthread_mutex_lock (drd_pthread_intercepts.c:?)
by 0x........: child_fn1 (tc22_exit_w_lock.c:18)
- by 0x........: vg_thread_wrapper (drd_pthread_intercepts.c:?)
+ by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
by 0x........: (within libpthread-?.?.so)
by 0x........: clone (in /...libc...)
Modified: trunk/drd/tests/tc23_bogus_condwait.stderr.exp
===================================================================
--- trunk/drd/tests/tc23_bogus_condwait.stderr.exp 2009-02-14 10:58:45 UTC (rev 9147)
+++ trunk/drd/tests/tc23_bogus_condwait.stderr.exp 2009-02-14 11:54:42 UTC (rev 9148)
@@ -11,7 +11,7 @@
Probably a race condition: condition variable 0x........ has been signaled but the associated mutex 0x........ is not locked by the signalling thread.
at 0x........: pthread_cond_signal* (drd_pthread_intercepts.c:?)
by 0x........: rescue_me (tc23_bogus_condwait.c:20)
- by 0x........: vg_thread_wrapper (drd_pthread_intercepts.c:?)
+ by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
by 0x........: (within libpthread-?.?.so)
by 0x........: clone (in /...libc...)
cond 0x........ was first observed at:
@@ -30,7 +30,7 @@
Probably a race condition: condition variable 0x........ has been signaled but the associated mutex 0x........ is not locked by the signalling thread.
at 0x........: pthread_cond_signal* (drd_pthread_intercepts.c:?)
by 0x........: rescue_me (tc23_bogus_condwait.c:24)
- by 0x........: vg_thread_wrapper (drd_pthread_intercepts.c:?)
+ by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
by 0x........: (within libpthread-?.?.so)
by 0x........: clone (in /...libc...)
cond 0x........ was first observed at:
@@ -59,7 +59,7 @@
Probably a race condition: condition variable 0x........ has been signaled but the associated mutex 0x........ is not locked by the signalling thread.
at 0x........: pthread_cond_signal* (drd_pthread_intercepts.c:?)
by 0x........: rescue_me (tc23_bogus_condwait.c:28)
- by 0x........: vg_thread_wrapper (drd_pthread_intercepts.c:?)
+ by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
by 0x........: (within libpthread-?.?.so)
by 0x........: clone (in /...libc...)
cond 0x........ was first observed at:
@@ -81,7 +81,7 @@
Probably a race condition: condition variable 0x........ has been signaled but the associated mutex 0x........ is not locked by the signalling thread.
at 0x........: pthread_cond_signal* (drd_pthread_intercepts.c:?)
by 0x........: rescue_me (tc23_bogus_condwait.c:32)
- by 0x........: vg_thread_wrapper (drd_pthread_intercepts.c:?)
+ by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
by 0x........: (within libpthread-?.?.so)
by 0x........: clone (in /...libc...)
cond 0x........ was first observed at:
@@ -96,7 +96,7 @@
Mutex not locked by calling thread: mutex 0x........, recursion count 2, owner 1.
at 0x........: pthread_mutex_unlock (drd_pthread_intercepts.c:?)
by 0x........: grab_the_lock (tc23_bogus_condwait.c:42)
- by 0x........: vg_thread_wrapper (drd_pthread_intercepts.c:?)
+ by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
by 0x........: (within libpthread-?.?.so)
by 0x........: clone (in /...libc...)
mutex 0x........ was first observed at:
|