]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Added more semaphore tracing info.
authorBart Van Assche <bvanassche@acm.org>
Sun, 14 Dec 2008 08:56:49 +0000 (08:56 +0000)
committerBart Van Assche <bvanassche@acm.org>
Sun, 14 Dec 2008 08:56:49 +0000 (08:56 +0000)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8825

drd/drd_semaphore.c
drd/tests/tc20_verifywrap2.stderr.exp-glibc2.3
drd/tests/tc20_verifywrap2.stderr.exp-glibc2.3-b
drd/tests/tc20_verifywrap2.stderr.exp-glibc2.5
drd/tests/tc20_verifywrap2.stderr.exp-glibc2.5-ppc
drd/tests/tc20_verifywrap2.stderr.exp-glibc2.8

index d3d0d17696b0b9f23abfeb3a004dce21bca91893..1125c1b174209852e72a1d778f3385543ac79a34 100644 (file)
@@ -117,10 +117,11 @@ struct semaphore_info* semaphore_init(const Addr semaphore,
   if (s_trace_semaphore)
   {
     VG_(message)(Vg_UserMsg,
-                 "[%d/%d] semaphore_init      0x%lx",
+                 "[%d/%d] semaphore_init      0x%lx value %d",
                  VG_(get_running_tid)(),
                  thread_get_running_tid(),
-                 semaphore);
+                 semaphore,
+                 value);
   }
   p = semaphore_get(semaphore);
   if (p)
@@ -147,17 +148,18 @@ void semaphore_destroy(const Addr semaphore)
 {
   struct semaphore_info* p;
 
+  p = semaphore_get(semaphore);
+
   if (s_trace_semaphore)
   {
     VG_(message)(Vg_UserMsg,
-                 "[%d/%d] semaphore_destroy   0x%lx",
+                 "[%d/%d] semaphore_destroy   0x%lx value %d",
                  VG_(get_running_tid)(),
                  thread_get_running_tid(),
-                 semaphore);
+                 semaphore,
+                 p ? p->value : 0);
   }
 
-  p = semaphore_get(semaphore);
-
   if (p == 0)
   {
     GenericErrInfo GEI;
@@ -181,10 +183,11 @@ void semaphore_pre_wait(const Addr semaphore)
   if (s_trace_semaphore)
   {
     VG_(message)(Vg_UserMsg,
-                 "[%d/%d] semaphore_pre_wait  0x%lx",
+                 "[%d/%d] semaphore_pre_wait  0x%lx value %d",
                  VG_(get_running_tid)(),
                  thread_get_running_tid(),
-                 semaphore);
+                 semaphore,
+                 p->value);
   }
   tl_assert(p);
   tl_assert((int)p->waiters >= 0);
@@ -205,10 +208,11 @@ void semaphore_post_wait(const DrdThreadId tid, const Addr semaphore,
   if (s_trace_semaphore)
   {
     VG_(message)(Vg_UserMsg,
-                 "[%d/%d] semaphore_post_wait 0x%lx",
+                 "[%d/%d] semaphore_post_wait 0x%lx value %d",
                  VG_(get_running_tid)(),
                  thread_get_running_tid(),
-                 semaphore);
+                 semaphore,
+                 p ? p->value - 1 : 0);
   }
   tl_assert(p->waiters > 0);
   p->waiters--;
@@ -241,16 +245,19 @@ void semaphore_pre_post(const DrdThreadId tid, const Addr semaphore)
 {
   struct semaphore_info* p;
 
+  p = semaphore_get_or_allocate(semaphore);
+  p->value++;
+
   if (s_trace_semaphore)
   {
     VG_(message)(Vg_UserMsg,
-                 "[%d/%d] semaphore_post      0x%lx",
+                 "[%d/%d] semaphore_post      0x%lx value %d",
                  VG_(get_running_tid)(),
                  thread_get_running_tid(),
-                 semaphore);
+                 semaphore,
+                 p->value);
   }
-  p = semaphore_get_or_allocate(semaphore);
-  p->value++;
+
   if (p->value == 1)
   {
     p->last_sem_post_tid = tid;
index 871518821d9a1079d667de80ee6e7d915e042d71..e33af90848eaf88bfa891b79135c429174c41ebc 100644 (file)
@@ -128,8 +128,8 @@ rwlock 0x........ was first observed at:
 
 ---------------- sem_* ----------------
 
-[1/1] semaphore_init      0x........
-[1/1] semaphore_init      0x........
+[1/1] semaphore_init      0x........ value -1
+[1/1] semaphore_init      0x........ value 0
 
 Semaphore reinitialization: semaphore 0x........
    at 0x........: sem_init* (drd_pthread_intercepts.c:?)
@@ -140,8 +140,8 @@ semaphore 0x........ was first observed at:
 
 FIXME: can't figure out how to verify wrap of sem_destroy
 
-[1/1] semaphore_pre_wait  0x........
-[1/1] semaphore_post_wait 0x........
+[1/1] semaphore_pre_wait  0x........ value 0
+[1/1] semaphore_post_wait 0x........ value -1
 
 Invalid semaphore: semaphore 0x........
    at 0x........: sem_wait* (drd_pthread_intercepts.c:?)
@@ -149,11 +149,11 @@ Invalid semaphore: semaphore 0x........
 semaphore 0x........ was first observed at:
    at 0x........: sem_init* (drd_pthread_intercepts.c:?)
    by 0x........: main (tc20_verifywrap.c:228)
-[1/1] semaphore_post      0x........
+[1/1] semaphore_post      0x........ value 1
 
 FIXME: can't figure out how to verify wrap of sem_post
 
-[1/1] semaphore_destroy   0x........
+[1/1] semaphore_destroy   0x........ value 1
 
 ------------ dealloc of mem holding locks ------------
 
index b6de7a1aa7c761827fa950e0529abf82b6d9f316..b50c673e3af772ec08cabfdebade3a5d52c4f3e5 100644 (file)
@@ -128,8 +128,8 @@ rwlock 0x........ was first observed at:
 
 ---------------- sem_* ----------------
 
-[1/1] semaphore_init      0x........
-[1/1] semaphore_init      0x........
+[1/1] semaphore_init      0x........ value -1
+[1/1] semaphore_init      0x........ value 0
 
 Semaphore reinitialization: semaphore 0x........
    at 0x........: sem_init* (drd_pthread_intercepts.c:?)
@@ -140,8 +140,8 @@ semaphore 0x........ was first observed at:
 
 FIXME: can't figure out how to verify wrap of sem_destroy
 
-[1/1] semaphore_pre_wait  0x........
-[1/1] semaphore_post_wait 0x........
+[1/1] semaphore_pre_wait  0x........ value 0
+[1/1] semaphore_post_wait 0x........ value -1
 
 Invalid semaphore: semaphore 0x........
    at 0x........: sem_wait* (drd_pthread_intercepts.c:?)
@@ -149,11 +149,11 @@ Invalid semaphore: semaphore 0x........
 semaphore 0x........ was first observed at:
    at 0x........: sem_init* (drd_pthread_intercepts.c:?)
    by 0x........: main (tc20_verifywrap.c:228)
-[1/1] semaphore_post      0x........
+[1/1] semaphore_post      0x........ value 1
 
 FIXME: can't figure out how to verify wrap of sem_post
 
-[1/1] semaphore_destroy   0x........
+[1/1] semaphore_destroy   0x........ value 1
 
 ------------ dealloc of mem holding locks ------------
 
index 38088e7cd2a07e3c4317e66eba47d04fd91b75c5..5584e5382bc0fb51a5407397f8548fa217117c36 100644 (file)
@@ -134,8 +134,8 @@ rwlock 0x........ was first observed at:
 
 ---------------- sem_* ----------------
 
-[1/1] semaphore_init      0x........
-[1/1] semaphore_init      0x........
+[1/1] semaphore_init      0x........ value -1
+[1/1] semaphore_init      0x........ value 0
 
 Semaphore reinitialization: semaphore 0x........
    at 0x........: sem_init* (drd_pthread_intercepts.c:?)
@@ -146,8 +146,8 @@ semaphore 0x........ was first observed at:
 
 FIXME: can't figure out how to verify wrap of sem_destroy
 
-[1/1] semaphore_pre_wait  0x........
-[1/1] semaphore_post_wait 0x........
+[1/1] semaphore_pre_wait  0x........ value 0
+[1/1] semaphore_post_wait 0x........ value -1
 
 Invalid semaphore: semaphore 0x........
    at 0x........: sem_wait* (drd_pthread_intercepts.c:?)
@@ -155,11 +155,11 @@ Invalid semaphore: semaphore 0x........
 semaphore 0x........ was first observed at:
    at 0x........: sem_init* (drd_pthread_intercepts.c:?)
    by 0x........: main (tc20_verifywrap.c:228)
-[1/1] semaphore_post      0x........
+[1/1] semaphore_post      0x........ value 1
 
 FIXME: can't figure out how to verify wrap of sem_post
 
-[1/1] semaphore_destroy   0x........
+[1/1] semaphore_destroy   0x........ value 1
 
 ------------ dealloc of mem holding locks ------------
 
index 557fdf5a8f451de3287e35e9f16c531fc1ffdf52..f79d69a885cb726bdcae5ad274c5b726933a3900 100644 (file)
@@ -134,8 +134,8 @@ rwlock 0x........ was first observed at:
 
 ---------------- sem_* ----------------
 
-[1/1] semaphore_init      0x........
-[1/1] semaphore_init      0x........
+[1/1] semaphore_init      0x........ value -1
+[1/1] semaphore_init      0x........ value 0
 
 Semaphore reinitialization: semaphore 0x........
    at 0x........: sem_init* (drd_pthread_intercepts.c:?)
@@ -146,8 +146,8 @@ semaphore 0x........ was first observed at:
 
 FIXME: can't figure out how to verify wrap of sem_destroy
 
-[1/1] semaphore_pre_wait  0x........
-[1/1] semaphore_post_wait 0x........
+[1/1] semaphore_pre_wait  0x........ value 0
+[1/1] semaphore_post_wait 0x........ value -1
 
 Invalid semaphore: semaphore 0x........
    at 0x........: sem_wait* (drd_pthread_intercepts.c:?)
@@ -155,11 +155,11 @@ Invalid semaphore: semaphore 0x........
 semaphore 0x........ was first observed at:
    at 0x........: sem_init* (drd_pthread_intercepts.c:?)
    by 0x........: main (tc20_verifywrap.c:228)
-[1/1] semaphore_post      0x........
+[1/1] semaphore_post      0x........ value 1
 
 FIXME: can't figure out how to verify wrap of sem_post
 
-[1/1] semaphore_destroy   0x........
+[1/1] semaphore_destroy   0x........ value 1
 
 ------------ dealloc of mem holding locks ------------
 
index 61740ed5675618210b2bb46cc691e3c95c954770..e551bada2f42808bbcae3051c8971aa37fa88995 100644 (file)
@@ -134,13 +134,13 @@ rwlock 0x........ was first observed at:
 
 ---------------- sem_* ----------------
 
-[1/1] semaphore_init      0x........
-[1/1] semaphore_init      0x........
+[1/1] semaphore_init      0x........ value -1
+[1/1] semaphore_init      0x........ value 0
 
 FIXME: can't figure out how to verify wrap of sem_destroy
 
-[1/1] semaphore_pre_wait  0x........
-[1/1] semaphore_post_wait 0x........
+[1/1] semaphore_pre_wait  0x........ value 0
+[1/1] semaphore_post_wait 0x........ value -1
 
 Invalid semaphore: semaphore 0x........
    at 0x........: sem_wait* (drd_pthread_intercepts.c:?)
@@ -148,11 +148,11 @@ Invalid semaphore: semaphore 0x........
 semaphore 0x........ was first observed at:
    at 0x........: sem_init* (drd_pthread_intercepts.c:?)
    by 0x........: main (tc20_verifywrap.c:228)
-[1/1] semaphore_post      0x........
+[1/1] semaphore_post      0x........ value 1
 
 FIXME: can't figure out how to verify wrap of sem_post
 
-[1/1] semaphore_destroy   0x........
+[1/1] semaphore_destroy   0x........ value 1
 
 ------------ dealloc of mem holding locks ------------