Отмена заблокированной записи - PullRequest
1 голос
/ 22 октября 2010

Как заставить поток отвечать на pthread_cancel(), если он заблокирован на sem_wait()?

1 Ответ

2 голосов
/ 22 октября 2010

Вы можете установить обработчик сигнала, скажем, для SIGUSR1, для потока, который затем будет блокировать, из другого потока вы вызываете pthread_cancel(tid) и pthread_kill(tid, SIGUSR1).Поток будет отменен, как только sem_wait() будет прерван сигналом.

...