diff --git a/communication_techniques/src/communication/common.c b/communication_techniques/src/communication/common.c index 76193b4..03f02dd 100644 --- a/communication_techniques/src/communication/common.c +++ b/communication_techniques/src/communication/common.c @@ -58,10 +58,13 @@ int init_producer_thread(void) pthread_mutex_unlock(&init_lock); return -1; } - pthread_mutex_lock(&init_lock); - init = 1; - pthread_cond_signal(&init_cond); - pthread_mutex_unlock(&init_lock); + if (thread_num == nb_prod - 1) + { + pthread_mutex_lock(&init_lock); + init = 1; + pthread_cond_signal(&init_cond); + pthread_mutex_unlock(&init_lock); + } return 0; }