|
From: <sv...@va...> - 2012-03-08 10:14:23
|
bart 2012-03-08 10:14:12 +0000 (Thu, 08 Mar 2012)
New Revision: 12428
Log:
Suppress uninteresting race reports on sema->owner_lwpid
Modified files:
trunk/coregrind/m_scheduler/sema.c
Modified: trunk/coregrind/m_scheduler/sema.c (+4 -0)
===================================================================
--- trunk/coregrind/m_scheduler/sema.c 2012-03-08 10:11:22 +00:00 (rev 12427)
+++ trunk/coregrind/m_scheduler/sema.c 2012-03-08 10:14:12 +00:00 (rev 12428)
@@ -77,6 +77,7 @@
buf[1] = 0;
sema_char++;
INNER_REQUEST(ANNOTATE_RWLOCK_CREATE(sema));
+ INNER_REQUEST(ANNOTATE_RWLOCK_CREATE(&sema->owner_lwpid));
res = VG_(write)(sema->pipe[1], buf, 1);
vg_assert(res == 1);
}
@@ -85,6 +86,7 @@
{
vg_assert(sema->owner_lwpid != -1); /* must be initialised */
vg_assert(sema->pipe[0] != sema->pipe[1]);
+ INNER_REQUEST(ANNOTATE_RWLOCK_DESTROY(&sema->owner_lwpid));
INNER_REQUEST(ANNOTATE_RWLOCK_DESTROY(sema));
VG_(close)(sema->pipe[0]);
VG_(close)(sema->pipe[1]);
@@ -99,7 +101,9 @@
Int ret;
Int lwpid = VG_(gettid)();
+ INNER_REQUEST(ANNOTATE_RWLOCK_ACQUIRED(&sema->owner_lwpid, /*is_w*/0));
vg_assert(sema->owner_lwpid != lwpid); /* can't have it already */
+ INNER_REQUEST(ANNOTATE_RWLOCK_RELEASED(&sema->owner_lwpid, /*is_w*/0));
vg_assert(sema->pipe[0] != sema->pipe[1]);
again:
|