drd: Yet another regression test reliability improvement.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12004 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/drd/tests/annotate_smart_pointer.cpp b/drd/tests/annotate_smart_pointer.cpp
index cf6e6ac..862ecb0 100644
--- a/drd/tests/annotate_smart_pointer.cpp
+++ b/drd/tests/annotate_smart_pointer.cpp
@@ -317,6 +317,12 @@
p->post_increment();
for (int i = 0; i < nthreads; ++i)
T[i].Create(thread_func, new smart_ptr<counter>(p));
+ {
+ // Avoid that counter.m_mutex introduces a false ordering on the
+ // counter.m_count accesses.
+ const timespec delay = { 0, 100 * 1000 * 1000 };
+ nanosleep(&delay, 0);
+ }
p = NULL;
for (int i = 0; i < nthreads; ++i)
T[i].Join();