Меня сбивает с толку то, что pthread_mutex_lock
не имеет E_INTR
в качестве возвращаемого значения. Хотя pthread_cond_wait
может быть ложно пробужден и возвращать 0, из-за того, что l oop и Mesa контролируют семантику, это не проблема.
Итак, если процесс заблокирован pthread_mutex_lock
, и вы отправляете сигнал, чтобы разбудить его, после выполнения обработчика сигнала, что произойдет? Есть ли механизм, чтобы избежать этого ложного пробуждения?