Problem: Spinning on atomics can cause hangs

Solution: Add a sleep in the loop. Some versions of
valgrind may hang when spinning on atomic variables.
This commit is contained in:
Gudmundur Adalsteinsson 2020-04-18 12:44:59 +00:00
parent 4c1d720a47
commit ff80089939

View File

@ -103,6 +103,7 @@ void wait_in_events (test_events_t &events_)
{
void *watch = zmq_stopwatch_start ();
while (events_.in_events.get () < 1) {
msleep (1);
#ifdef ZMQ_BUILD_DRAFT
TEST_ASSERT_LESS_OR_EQUAL_MESSAGE (SETTLE_TIME,
zmq_stopwatch_intermediate (watch),
@ -116,6 +117,7 @@ void wait_timer_events (test_events_t &events_)
{
void *watch = zmq_stopwatch_start ();
while (events_.timer_events.get () < 1) {
msleep (1);
#ifdef ZMQ_BUILD_DRAFT
TEST_ASSERT_LESS_OR_EQUAL_MESSAGE (SETTLE_TIME,
zmq_stopwatch_intermediate (watch),