From ecad167c91db84b82da275eba5dc70e3d975a16b Mon Sep 17 00:00:00 2001 From: Bart Van Assche Date: Thu, 28 Jul 2011 09:33:55 +0000 Subject: [PATCH] More thread test scheduler sensitivity fixes git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11925 --- drd/tests/annotate_ignore_rw.c | 4 ++++ drd/tests/annotate_ignore_write.c | 7 ++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/drd/tests/annotate_ignore_rw.c b/drd/tests/annotate_ignore_rw.c index c57117d991..d8913dbc51 100644 --- a/drd/tests/annotate_ignore_rw.c +++ b/drd/tests/annotate_ignore_rw.c @@ -22,6 +22,7 @@ static void* thread_func(void* arg) int main(int argc, char** argv) { + const struct timespec delay = { 0, 100 * 1000 * 1000 }; int optchar; int ign_rw = 1; pthread_t tid; @@ -39,6 +40,9 @@ int main(int argc, char** argv) } pthread_create(&tid, 0, thread_func, 0); + + nanosleep(&delay, 0); + if (ign_rw) ANNOTATE_IGNORE_READS_AND_WRITES_BEGIN(); /* Read s_b and modify s_a. */ diff --git a/drd/tests/annotate_ignore_write.c b/drd/tests/annotate_ignore_write.c index 2b71eb2c8b..8b7dc2f166 100644 --- a/drd/tests/annotate_ignore_write.c +++ b/drd/tests/annotate_ignore_write.c @@ -22,6 +22,7 @@ static void* thread_func(void* arg) int main(int argc, char** argv) { + const struct timespec delay = { 0, 100 * 1000 * 1000 }; int optchar; int ign_rw = 1; pthread_t tid; @@ -39,6 +40,10 @@ int main(int argc, char** argv) } pthread_create(&tid, 0, thread_func, 0); + + /* Let the code in the created thread run first. */ + nanosleep(&delay, 0); + if (ign_rw) ANNOTATE_IGNORE_WRITES_BEGIN(); /* Read s_b and modify s_a. */ @@ -50,7 +55,7 @@ int main(int argc, char** argv) * Insert a delay here in order to make sure the load of s_c happens * after s_c has been modified. */ - sleep(1); + nanosleep(&delay, 0); /* Read s_c and modify s_a. */ s_a = s_c; -- 2.47.2