From: Bart Van Assche Date: Fri, 8 Aug 2014 16:27:30 +0000 (+0000) Subject: drd: Clear conflict set after fork (#338115) X-Git-Tag: svn/VALGRIND_3_10_0~214 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8701c89a36c0064c64e8a62fca91e34fabaef130;p=thirdparty%2Fvalgrind.git drd: Clear conflict set after fork (#338115) git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14244 --- diff --git a/NEWS b/NEWS index dd814525be..a6f4b6aaa5 100644 --- a/NEWS +++ b/NEWS @@ -203,6 +203,7 @@ where XXXXXX is the bug number as listed below. 337285 fcntl commands F_OFD_SETLK, F_OFD_SETLKW, and F_OFD_GETLK not supported 337528 leak check heuristic for block prefixed by length as 64bit number 338024 inlined functions are not shown if DW_AT_ranges is used +338115 DRD: computed conflict set differs from actual after fork n-i-bz Fix KVM_CREATE_IRQCHIP ioctl handling n-i-bz s390x: Fix memory corruption for multithreaded applications n-i-bz vex arm->IR: allow PC as basereg in some LDRD cases diff --git a/drd/drd_thread.c b/drd/drd_thread.c index d9cb0a9d2b..037659ceff 100644 --- a/drd/drd_thread.c +++ b/drd/drd_thread.c @@ -557,6 +557,9 @@ void DRD_(drd_thread_atfork_child)(const DrdThreadId tid) DRD_(thread_delete)(i, True); tl_assert(!DRD_(IsValidDrdThreadId(i))); } + + DRD_(bm_cleanup)(DRD_(g_conflict_set)); + DRD_(bm_init)(DRD_(g_conflict_set)); } /** Called just before pthread_cancel(). */