Что означает код возврата ядра macOS 42 (KERN_SEMAPHORE_DESTROYED)?

 
Также может означать:
КонстантаТипОС
ippStsI18nGetMessageFailСтатус Intel IPPЛюбая
ENOMSGerrnoLinux
ENOPROTOOPTerrnomacOS
EUNATCHerrnoSolaris
EILSEQerrnoWindows
INCONSISTENT_IRPКод BSODWindows
Предыдущий Следующий
KERN_LOCK_OWNED_SELF KERN_RPC_SERVER_TERMINATED

KERN_SEMAPHORE_DESTROYED

Ошибка времени жизни семафора

KERN_SEMAPHORE_DESTROYED означает, что объект семафора больше не существует. Это не обычное ожидание пустого семафора и не тайм-аут: сам примитив синхронизации был уничтожен, пока у вызывающей стороны ещё оставалась работа с ним.

Семафоры Mach — это счётные объекты синхронизации с интерфейсами создания, сигнализации, ожидания и уничтожения. Последовательность завершения работы должна исключить новых пользователей и обработать существующих ожидающих до уничтожения последней ссылки.

Что проверить

  • Определите владельца семафора и точку его уничтожения.
  • Проверьте, не сохранил ли ожидающий поток, отправитель сигнала или обратный вызов устаревшую ссылку на семафор.
  • Убедитесь, что при остановке службы вся работа завершается до уничтожения состояния синхронизации.
  • Отличайте этот результат от KERN_OPERATION_TIMED_OUT, который сообщает об истечении времени ожидания всё ещё действующей операции.

Ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.