Возобновить работу мьютекса, находящегося в состоянии DEAD
#include <sys/neutrino.h>int SyncMutexRevive( sync_t *sync );int SyncMutexRevive_r( sync_t *sync );
libc
Системные вызовы SyncMutexRevive() и SyncMutexRevive_r() позволяют принудительно перехватить владение мертвым мьютексом sync (находящимся в состоянии DEAD). При успешном выполнении мьютекс будет переведен в состояние LOCK, а владельцем будет принудительно установлен вызывающий поток. Счетчик мьютекса для рекурсивных мьютексов будет установлен в 1
.
Эти функции эквивалентны, за исключением способа информирования об ошибках.
Для получения детальной информации о состоянии мьютекса "DEAD", а также о получении уведомлений о смерти мьютекса см. описание системного вызова SyncMutexEvent().
-1
, код ошибки записывается в errno. Любое другое возвращенное значение считается успешным завершением.EOK
возвращается при успешном завершении. Функция НЕ устанавливает errno. При возникновении ошибки функция возвращает один из представленных ниже кодов.
ЗОСРВ «Нейтрино»
sync_t, pthread_mutex_lock(), pthread_mutex_unlock(), SyncTypeCreate(), SyncDestroy(), SyncMutexEvent(), SyncMutexLock(), SyncMutexUnlock()
Предыдущий раздел: Описание API системной библиотеки