Fix the mutex logic in fifo.c from the espeak_ng_STATUS changes.

This commit is contained in:
Reece H. Dunn
2016-01-02 19:29:17 +00:00
parent 6aeb5a26f0
commit 76d8c67b52
+9 -3
View File
@@ -95,8 +95,10 @@ espeak_ng_STATUS fifo_add_command(t_espeak_command *the_command)
if ((status = pthread_mutex_lock(&my_mutex)) != ENS_OK)
return status;
if ((status = push(the_command)) != ENS_OK)
if ((status = push(the_command)) != ENS_OK) {
pthread_mutex_unlock(&my_mutex);
return status;
}
if ((status = pthread_mutex_unlock(&my_mutex)) != ENS_OK)
return status;
@@ -124,11 +126,15 @@ espeak_ng_STATUS fifo_add_commands(t_espeak_command *command1, t_espeak_command
if (node_counter+1 >= MAX_NODE_COUNTER)
return ENS_FIFO_BUFFER_FULL;
if ((status = push(command1)) != ENS_OK)
if ((status = push(command1)) != ENS_OK) {
pthread_mutex_unlock(&my_mutex);
return status;
}
if ((status = push(command2)) != ENS_OK)
if ((status = push(command2)) != ENS_OK) {
pthread_mutex_unlock(&my_mutex);
return status;
}
if ((status = pthread_mutex_unlock(&my_mutex)) != ENS_OK)
return status;