| Предыдущий | Следующий |
| EBFONT | ESHUTDOWN |
EDEADLOCK
Что означает EDEADLOCK в Linux
EDEADLOCK означает «Взаимная блокировка при блокировке файла». Для условия «Взаимная блокировка при блокировке файла» код EDEADLOCK нужно связывать с первым возвратившим его вызовом и контекстом: процесс, поток, сигнал, ожидание или объект синхронизации.
После отказа, соответствующего «Взаимная блокировка при блокировке файла», сохраните errno немедленно: любой последующий системный или библиотечный вызов может заменить значение. Для EDEADLOCK исходная английская страница также выделяет EDEADLK, OFD и Retrying; эти данные полезно записать вместе с return value, потоком и временем события.
Диагностика
- При ошибке «Взаимная блокировка при блокировке файла» (Linux,
EDEADLOCK) сохраните PID/TID, сигнал или объект ожидания и момент, когда состояние изменилось. - При ошибке «Взаимная блокировка при блокировке файла» (Linux,
EDEADLOCK) проверьте гонку между завершением, отменой, ожиданием и повторным использованием идентификатора. - При ошибке «Взаимная блокировка при блокировке файла» (Linux,
EDEADLOCK) отделите документированное прерывание от ошибки логики, сохранив errno до обработчика и cleanup. - При ошибке «Взаимная блокировка при блокировке файла» (Linux,
EDEADLOCK) воспроизведите порядок событий в контролируемом тесте вместо бесконечного retry.
На платформе Linux исправление EDEADLOCK считается подтверждённым, когда исходная операция даёт ожидаемый результат, а отдельный отрицательный тест по-прежнему воспроизводит именно условие «Взаимная блокировка при блокировке файла» без утечки ресурсов и потери первичной диагностики.
Ссылки для EDEADLOCK
Нужно найти другой код? Найти другой код состояния или ошибки.