Что означает код errno 58 (EOWNERDEAD) в Solaris?

 
Также может означать:
КонстантаТипОС
ERROR_BAD_NET_RESPОшибка WindowsWindows
EDEADLOCKerrnoLinux
ESHUTDOWNerrnomacOS
SYSTEM_UNWIND_PREVIOUS_USERКод BSODWindows
Предыдущий Следующий
ESHUTDOWN EBFONT

EOWNERDEAD

Восстановление надёжного мьютекса

В Solaris EOWNERDEAD имеет значение errno 58. Основное сообщение: процесс завершился, удерживая блокировку, но полезный диагностический контекст уже краткого сообщения: solaris получил надёжный мьютекс, предыдущий владелец которого завершился, не освободив его.

Получение мьютекса с EOWNERDEAD не означает обычный успех блокировки. Поток уже владеет mutex, но должен проверить защищаемые структуры и завершить предусмотренную API процедуру восстановления прежде, чем открыть доступ другим потокам.

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

  • Защищаемое состояние может быть несогласованным, и его необходимо восстановить до пометки мьютекса как согласованного.
  • Если восстановление завершить невозможно, последующие потоки, пытающиеся получить блокировку, могут получить ENOTRECOVERABLE.
  • Записывайте в журнал защищаемый объект, а не только адрес мьютекса.

Ссылки


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