Canceling the thread slp2 before the case 5 makes behaviour of this test
more deterministic.
Also, as Philippe W. pointed out, adding --fair-sched=try seems to avoid
variable and sometimes very long run time for these tests.
Related BZ #358213
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@16154
prereq: test -e ../../helgrind/tests/bar_bad && ./supported_libpthread
prog: ../../helgrind/tests/bar_bad
+vgopts: --fair-sched=try
prereq: test -e ../../helgrind/tests/bar_bad && ./supported_libpthread
-vgopts: --xml=yes --xml-fd=2
+vgopts: --xml=yes --xml-fd=2 --fair-sched=try
prog: ../../helgrind/tests/bar_bad
stderr_filter: ../../memcheck/tests/filter_xml
/* and now destroy */
pthread_barrier_destroy(bar4);
+ pthread_cancel(slp2);
+
/* destroy a barrier that was never initialised. This is a bit
tricky, in that we have to fill the barrier with bytes which
ensure that the pthread_barrier_destroy call doesn't crash for
Thread #x: pthread_barrier_destroy: barrier was never initialised
at 0x........: pthread_barrier_destroy (hg_intercepts.c:...)
- by 0x........: main (bar_bad.c:96)
+ by 0x........: main (bar_bad.c:98)
Thread #x: pthread_barrier_destroy: barrier was never initialised
at 0x........: pthread_barrier_destroy (hg_intercepts.c:...)
- by 0x........: main (bar_bad.c:96)
+ by 0x........: main (bar_bad.c:98)
prereq: test -e bar_bad
prog: bar_bad
-vgopts: -q
+vgopts: -q --fair-sched=try