mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-10-31 05:35:35 +00:00
fifo: Protect setting my_terminate_is_required
We need to keep the mutex around setting it, to make sure that the visibility of setting it to true doesn't get delayed, notably not after the signal (which could entail that the signal becomes useless, leading to a hang).
This commit is contained in:
@@ -438,7 +438,9 @@ static void init(int process_parameters)
|
||||
|
||||
void fifo_terminate()
|
||||
{
|
||||
pthread_mutex_lock(&my_mutex);
|
||||
my_terminate_is_required = true;
|
||||
pthread_mutex_unlock(&my_mutex);
|
||||
pthread_cond_signal(&my_cond_start_is_required);
|
||||
pthread_join(my_thread, NULL);
|
||||
my_terminate_is_required = false;
|
||||
|
||||
Reference in New Issue
Block a user