У меня есть пара потоков, которые передают данные друг другу и немного их обрабатывают.Как только я поставил синхронизацию между двумя последними потоками, программа начала падатьУ меня нет большого опыта работы с потоками, поэтому вместо отладки я просто прокомментировал все содержимое последнего потока, поэтому он просто выполняется во время цикла, другой поток остается тем же, за исключением части синхронизации, которая просто
pthread_mutex_lock(&mutex);
pthread_cond_signal(&cond);
pthread_mutex_unlock(&mutex);
и что я затем прокомментировал, что сделало приложение работающим без сбоев.
В остальной части программы нет абсолютно ничего, зависящего от мьютекса или условной переменной.Это также работает, если я только комментирую pthread_cond_signal (& cond) ;.Есть идеи о том, что происходит?