| Предыдущий | Следующий |
| ENOTSUP | EL3HLT |
EDEADLK
Обнаружение взаимоблокировок в блокировках и синхронизации
В Solaris EDEADLK имеет значение errno 45. Основное сообщение: Состояние взаимоблокировки.
, однако полезный диагностический контекст уже краткого сообщения: Solaris обнаружила взаимоблокировку или предотвратила её при блокировке либо синхронизации.
Для EDEADLK сначала используйте таблицу errno Solaris и лишь затем сравнивайте с POSIX для переносимого поведения. Некоторые значения Solaris с именем EDEADLK имеют те же имена, что и в других UNIX-системах, но другие числовые коды или более узкие исторические значения.
Что проверить для EDEADLK
- Зафиксируйте тип блокировки: блокировка записи fcntl, мьютекс, семафор, условная переменная или блокировка чтения/записи.
- Проверьте порядок захвата и владельцев блокировок, а не увеличивайте значения тайм-аутов.
- Сравните с EDEADLOCK — более старым вариантом имени, использовавшимся в Solaris для сообщений о взаимоблокировке файловых блокировок.
Ссылки для EDEADLK
Нужно найти другой код? Найти другой код состояния или ошибки.
