Suppressed reports about data races during thread creation.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7843 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/exp-drd/drd_pthread_intercepts.c b/exp-drd/drd_pthread_intercepts.c
index aabac05..2c1b773 100644
--- a/exp-drd/drd_pthread_intercepts.c
+++ b/exp-drd/drd_pthread_intercepts.c
@@ -244,6 +244,7 @@
          pthread_t *thread, const pthread_attr_t *attr,
          void *(*start) (void *), void *arg)
 {
+  int    res;
   int    ret;
   OrigFn fn;
   VgPosixThreadArgs vgargs;
@@ -270,7 +271,12 @@
   pthread_cond_init(&vgargs.cond, 0);
   pthread_mutex_lock(&vgargs.mutex);
 #endif
+  /* Suppress NPTL-specific conflicts between creator and created thread. */
+  VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__DRD_STOP_RECORDING,
+                             0, 0, 0, 0, 0);
   CALL_FN_W_WWWW(ret, fn, thread, attr, vg_thread_wrapper, &vgargs);
+  VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__DRD_START_RECORDING,
+                             0, 0, 0, 0, 0);
 #if 0
   pthread_cond_wait(&vgargs.cond, &vgargs.mutex);
   pthread_mutex_unlock(&vgargs.mutex);