| Предыдущий | Следующий |
| ESHUTDOWN | EBFONT |
EOWNERDEAD
Восстановление надёжного мьютекса
В Solaris EOWNERDEAD имеет значение errno 58. Основное сообщение: процесс завершился, удерживая блокировку
, но полезный диагностический контекст уже краткого сообщения: solaris получил надёжный мьютекс, предыдущий владелец которого завершился, не освободив его.
Получение мьютекса с EOWNERDEAD не означает обычный успех блокировки. Поток уже владеет mutex, но должен проверить защищаемые структуры и завершить предусмотренную API процедуру восстановления прежде, чем открыть доступ другим потокам.
Что проверить
- Защищаемое состояние может быть несогласованным, и его необходимо восстановить до пометки мьютекса как согласованного.
- Если восстановление завершить невозможно, последующие потоки, пытающиеся получить блокировку, могут получить ENOTRECOVERABLE.
- Записывайте в журнал защищаемый объект, а не только адрес мьютекса.
Ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.