diff --git a/src/libespeak-ng/fifo.c b/src/libespeak-ng/fifo.c index 24cc4bce..8f58a33e 100644 --- a/src/libespeak-ng/fifo.c +++ b/src/libespeak-ng/fifo.c @@ -91,8 +91,9 @@ void fifo_init() // leave once the thread is actually started assert(-1 != pthread_mutex_lock(&my_mutex)); - while ((my_stop_is_acknowledged == 0) || ((pthread_cond_wait(&my_cond_stop_is_acknowledged, &my_mutex) == -1) && errno == EINTR)) - continue; // Restart when interrupted by handler + while (my_stop_is_acknowledged == 0) +while((pthread_cond_wait(&my_cond_stop_is_acknowledged, &my_mutex) == -1) && errno == EINTR) + ; my_stop_is_acknowledged = 0; pthread_mutex_unlock(&my_mutex); } @@ -172,8 +173,9 @@ espeak_ng_STATUS fifo_stop() } if (a_command_is_running) { - while ((my_stop_is_acknowledged == 0) || ((pthread_cond_wait(&my_cond_stop_is_acknowledged, &my_mutex) == -1) && errno == EINTR)) - continue; // Restart when interrupted by handler + while (my_stop_is_acknowledged == 0) + while((pthread_cond_wait(&my_cond_stop_is_acknowledged, &my_mutex) == -1) && errno == EINTR) + continue; // Restart when interrupted by handler } my_stop_is_required = 0; @@ -293,7 +295,8 @@ static void *say_thread(void *p) assert(!a_status); if (!a_start_is_required) { - while ((my_start_is_required == 0) || ((pthread_cond_wait(&my_cond_start_is_required, &my_mutex) == -1) && errno == EINTR)) + while (my_start_is_required == 0) + while((pthread_cond_wait(&my_cond_start_is_required, &my_mutex) == -1) && errno == EINTR) continue; // Restart when interrupted by handler }