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:
Samuel Thibault
2022-03-16 00:22:58 +01:00
parent 43d07abec4
commit 15091d82be
+2
View File
@@ -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;