|
From: <sv...@va...> - 2008-12-14 08:56:55
|
Author: bart
Date: 2008-12-14 08:56:49 +0000 (Sun, 14 Dec 2008)
New Revision: 8825
Log:
Added more semaphore tracing info.
Modified:
trunk/drd/drd_semaphore.c
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/drd_semaphore.c
===================================================================
--- trunk/drd/drd_semaphore.c 2008-12-13 22:27:05 UTC (rev 8824)
+++ trunk/drd/drd_semaphore.c 2008-12-14 08:56:49 UTC (rev 8825)
@@ -117,10 +117,11 @@
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 @@
{
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 @@
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 @@
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 @@
{
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;
Modified: trunk/drd/tests/tc20_verifywrap2.stderr.exp-glibc2.3
===================================================================
--- trunk/drd/tests/tc20_verifywrap2.stderr.exp-glibc2.3 2008-12-13 22:27:05 UTC (rev 8824)
+++ trunk/drd/tests/tc20_verifywrap2.stderr.exp-glibc2.3 2008-12-14 08:56:49 UTC (rev 8825)
@@ -128,8 +128,8 @@
---------------- 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 @@
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 @@
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 ------------
Modified: trunk/drd/tests/tc20_verifywrap2.stderr.exp-glibc2.3-b
===================================================================
--- trunk/drd/tests/tc20_verifywrap2.stderr.exp-glibc2.3-b 2008-12-13 22:27:05 UTC (rev 8824)
+++ trunk/drd/tests/tc20_verifywrap2.stderr.exp-glibc2.3-b 2008-12-14 08:56:49 UTC (rev 8825)
@@ -128,8 +128,8 @@
---------------- 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 @@
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 @@
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 ------------
Modified: trunk/drd/tests/tc20_verifywrap2.stderr.exp-glibc2.5
===================================================================
--- trunk/drd/tests/tc20_verifywrap2.stderr.exp-glibc2.5 2008-12-13 22:27:05 UTC (rev 8824)
+++ trunk/drd/tests/tc20_verifywrap2.stderr.exp-glibc2.5 2008-12-14 08:56:49 UTC (rev 8825)
@@ -134,8 +134,8 @@
---------------- 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 @@
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 @@
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 ------------
Modified: trunk/drd/tests/tc20_verifywrap2.stderr.exp-glibc2.5-ppc
===================================================================
--- trunk/drd/tests/tc20_verifywrap2.stderr.exp-glibc2.5-ppc 2008-12-13 22:27:05 UTC (rev 8824)
+++ trunk/drd/tests/tc20_verifywrap2.stderr.exp-glibc2.5-ppc 2008-12-14 08:56:49 UTC (rev 8825)
@@ -134,8 +134,8 @@
---------------- 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 @@
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 @@
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 ------------
Modified: trunk/drd/tests/tc20_verifywrap2.stderr.exp-glibc2.8
===================================================================
--- trunk/drd/tests/tc20_verifywrap2.stderr.exp-glibc2.8 2008-12-13 22:27:05 UTC (rev 8824)
+++ trunk/drd/tests/tc20_verifywrap2.stderr.exp-glibc2.8 2008-12-14 08:56:49 UTC (rev 8825)
@@ -134,13 +134,13 @@
---------------- 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 @@
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 ------------
|