|
From: <sv...@va...> - 2012-03-08 19:02:46
|
bart 2012-03-08 19:02:39 +0000 (Thu, 08 Mar 2012)
New Revision: 12435
Log:
Use ANNOTATE_BENIGN_RACE_SIZED() to suppress race reports on owner_lwpid
Modified files:
trunk/coregrind/m_scheduler/sema.c
Modified: trunk/coregrind/m_scheduler/sema.c (+2 -4)
===================================================================
--- trunk/coregrind/m_scheduler/sema.c 2012-03-08 18:58:41 +00:00 (rev 12434)
+++ trunk/coregrind/m_scheduler/sema.c 2012-03-08 19:02:39 +00:00 (rev 12435)
@@ -77,7 +77,8 @@
buf[1] = 0;
sema_char++;
INNER_REQUEST(ANNOTATE_RWLOCK_CREATE(sema));
- INNER_REQUEST(ANNOTATE_RWLOCK_CREATE(&sema->owner_lwpid));
+ INNER_REQUEST(ANNOTATE_BENIGN_RACE_SIZED(&sema->owner_lwpid,
+ sizeof(sema->owner_lwpid), ""));
res = VG_(write)(sema->pipe[1], buf, 1);
vg_assert(res == 1);
}
@@ -86,7 +87,6 @@
{
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]);
@@ -101,9 +101,7 @@
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:
|