More thread test scheduler sensitivity fixes

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11925
This commit is contained in:
Bart Van Assche 2011-07-28 09:33:55 +00:00
parent abb6befa6d
commit ecad167c91
2 changed files with 10 additions and 1 deletions

View File

@ -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. */

View File

@ -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;