| Предыдущий | Следующий |
| 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
Нужно найти другой код? Найти другой код состояния или ошибки.