Глядя на Это ошибка в glibc / pthread? , Давид Серединьски (dawid-seredyński) говорит, что «нет надежных условных переменных».Надежный, здесь, как PTHREAD_MUTEX_ROBUST
, означает, что он может быть восстановлен, если умирает вызывающий поток (или мой процесс с PTHREAD_PROCESS_SHARED
).
Я смотрю на создание собственной переменной условия с помощью futex
.Уже есть отличные руководства для этого:
Но они не решают проблему совместного использованиянадежность процесса.
Мой непосредственный вопрос - как правильно включить бит FUTEX_OWNER_DIED
.В целом, я ищу руководство по очистке реализации надежного futex-condvar.