| Предыдущий | Следующий |
| ECONNRESET | EBADMSG |
ENOTRECOVERABLE
Восстановление было предпринято или оставлено незавершённым
ENOTRECOVERABLE является частью семантики восстановления устойчивого мьютекса. Оно означает, что предыдущий владелец завершился или оставил защищённое состояние, а восстановление не было завершено так, чтобы сделать состояние безопасным для дальнейшего использования. Мьютекс не просто занят: обычное получение блокировки больше невозможно.
Продолжать работу так, будто защищённые данные корректны, небезопасно. Подсистема-владелец должна выбрать границу восстановления: перестроить общее состояние, согласованно заменить объект синхронизации или перезапустить компонент, владеющий повреждённым состоянием. Повтор той же операции блокировки не способен сделать состояние согласованным.
Свидетельства и план восстановления
- Определите защищённое состояние, предыдущего владельца и наличие устойчивой контрольной точки, записанной при аварийном восстановлении.
- Перед уничтожением или заменой общего мьютекса убедитесь, что все участники согласны с протоколом повторной инициализации.
- Отличайте это состояние от
EOWNERDEAD, при котором текущий вызывающий код может получить владение и ещё иметь возможность восстановить состояние.
Ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.