| Предыдущий | Следующий |
| EBADFD | EBADMSG |
ENOLCK
Сбой ресурсов управления блокировками
ENOLCK относится к ресурсам, используемым для представления или управления рекомендательными блокировками записей. Он не означает, что другой процесс владеет запрошенным диапазоном; случай конкурирующей блокировки обычно сообщается неблокирующим результатом конкретного API либо ожиданием освобождения блокировки.
Отделяйте протокол блокировок от времени жизни файловых дескрипторов. В зависимости от API блокировки файла могут сниматься или изменяться при закрытии дескрипторов, выходе процессов или повторном открытии файла по другому пути. Краткая задержка и повтор разумны только после проверки отсутствия постоянного давления на таблицу блокировок.
Соберите следующие поля
- API блокировки, удостоверение файла, диапазон байтов, требуемый режим, флаг блокировки и удостоверение процесса или потока.
- Число блокировок, удерживаемых процессом, и общая параллельность диспетчера блокировок приложения.
- Возможно ли заменить множество мелких блокировок диапазонов ограниченным набором более крупных блокировок.
Ссылки
- Apple XNU: определения errno Darwin
- POSIX: рекомендательные блокировки записей через fcntl()
- Справочник системных вызовов Apple: ENOLCK
Нужно найти другой код? Найти другой код состояния или ошибки.