Site icon EfmSoft

Что означает код errno 36 (EDEADLK)?

 
Также может означать:
КонстантаТипОС
ERROR_SHARING_BUFFER_EXCEEDEDОшибка WindowsWindows
KERN_NOT_DEPRESSEDКод возврата ядра macOSmacOS
ippStsNotSupportedCpuСтатус Intel IPPЛюбая
ENAMETOOLONGerrnoLinux
EINPROGRESSerrnomacOS
EIDRMerrnoSolaris
NTFS_FILE_SYSTEMКод BSODWindows
Предыдущий Следующий
EIDRM ENOLCK

EDEADLK

Что означает EDEADLK в Windows UCRT

EDEADLK означает «Предотвращена взаимная блокировка ресурсов». Для условия «Предотвращена взаимная блокировка ресурсов» код EDEADLK нужно связывать с первым возвратившим его вызовом и контекстом: процесс, поток, сигнал, ожидание или объект синхронизации.

Для условия «Предотвращена взаимная блокировка ресурсов» сначала установите канал ошибки: UCRT использует errno, Win32 API — GetLastError(), а Winsock — WSAGetLastError(); эти значения не взаимозаменяемы. Для EDEADLK исходная английская страница также выделяет UCRT и pthread_mutex_lock; эти данные полезно записать вместе с return value, потоком и временем события.

Диагностика

На платформе Windows UCRT исправление EDEADLK считается подтверждённым, когда исходная операция даёт ожидаемый результат, а отдельный отрицательный тест по-прежнему воспроизводит именно условие «Предотвращена взаимная блокировка ресурсов» без утечки ресурсов и потери первичной диагностики.

Ссылки для EDEADLK


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

Exit mobile version