|
From: <sv...@va...> - 2008-04-06 07:51:26
|
Author: bart
Date: 2008-04-06 08:51:24 +0100 (Sun, 06 Apr 2008)
New Revision: 7848
Log:
Data races on *stdout / *stderr are now suppressed via these objects itselves instead of via suppression patterns.
Modified:
trunk/exp-drd/drd_pthread_intercepts.c
trunk/glibc-2.X-drd.supp
Modified: trunk/exp-drd/drd_pthread_intercepts.c
===================================================================
--- trunk/exp-drd/drd_pthread_intercepts.c 2008-04-05 12:57:01 UTC (rev 7847)
+++ trunk/exp-drd/drd_pthread_intercepts.c 2008-04-06 07:51:24 UTC (rev 7848)
@@ -98,6 +98,11 @@
{
check_threading_library();
vg_set_main_thread_state();
+ /* glibc up to and including version 2.7 triggers conflicting accesses */
+ /* on stdout and stderr when sending output to one of these streams from */
+ /* more than one thread. Suppress data race reports on these objects. */
+ DRD_IGNORE_VAR(*stdout);
+ DRD_IGNORE_VAR(*stderr);
}
static MutexT pthread_to_drd_mutex_type(const int kind)
Modified: trunk/glibc-2.X-drd.supp
===================================================================
--- trunk/glibc-2.X-drd.supp 2008-04-05 12:57:01 UTC (rev 7847)
+++ trunk/glibc-2.X-drd.supp 2008-04-06 07:51:24 UTC (rev 7848)
@@ -76,29 +76,6 @@
obj:/lib*/libc-*
}
{
- libc-race-in-vfprintf
- exp-drd:ConflictingAccess
- fun:vfprintf
-}
-{
- libc-race-in-vsnprintf
- exp-drd:ConflictingAccess
- fun:vsnprintf
-}
-{
- libc-race-in-vsnprintf
- exp-drd:ConflictingAccess
- obj:/lib*/libc-*
- fun:vsnprintf
-}
-{
- libc-race-in-vsnprintf
- exp-drd:ConflictingAccess
- obj:/lib*/libc-*
- obj:/lib*/libc-*
- fun:vsnprintf
-}
-{
librt
exp-drd:ConflictingAccess
fun:__librt_enable_asynccancel
|