Что означает код errno 39 (ENOLCK)?

 
Также может означать:
КонстантаТипОС
ERROR_HANDLE_DISK_FULLОшибка WindowsWindows
KERN_LOCK_UNSTABLEКод возврата ядра macOSmacOS
ippStsEvenMedianWeightСтатус Intel IPPЛюбая
ENOTEMPTYerrnoLinux
EDESTADDRREQerrnomacOS
EL3HLTerrnoSolaris
RDR_FILE_SYSTEMКод BSODWindows
Предыдущий Следующий
EL3HLT ELOOP

ENOLCK

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

ENOLCK означает «Блокировки записей недоступны». Для условия «Блокировки записей недоступны» код ENOLCK нужно связывать с первым возвратившим его вызовом и контекстом: лимит процесса или системы, память, дескрипторы, блокировки и временное состояние.

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

Диагностика

  • При ошибке «Блокировки записей недоступны» (Windows UCRT, ENOLCK) снимите текущие rlimit, количество дескрипторов, память, блокировки и глубину очередей.
  • При ошибке «Блокировки записей недоступны» (Windows UCRT, ENOLCK) отделите временную нехватку от утечки; retry с backoff допустим только для документированно временного условия.
  • При ошибке «Блокировки записей недоступны» (Windows UCRT, ENOLCK) сохраните метрики до cleanup или повтора, иначе первичная причина исчезнет вместе с симптомом.
  • При ошибке «Блокировки записей недоступны» (Windows UCRT, ENOLCK) проверьте освобождение ресурса на всех error paths и установите конечный предел повторов.

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

Ссылки для ENOLCK


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