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