Появился отдельный вид ошибки для исчерпания списка открытых файлов
25.06.2026У вида ошибки ввода-вывода добавлено значение для случая, когда система не даёт открыть новый файл: кончился предел дескрипторов или памяти ядра под файловые структуры.
Какая была проблема
Раньше этот случай попадал в общую категорию «прочие ошибки». Чтобы отличить нехватку дескрипторов от любой другой ошибки, код должен был обратиться к исходному номеру ошибки и сравнить его с платформенной константой — а такая константа в коде отсутствует, она живёт в заголовках, и её надо искать.
То есть переносимый код определить этот случай не мог вообще: на одной системе константа одна, на другой — другая, и обе зависят от того, как система сообщает об ошибке.
Что даёт
Проверка через сравнение вида ошибки, работающая одинаково везде. Это позволяет, например, отличить «файлов не осталось, подождите» от «нет прав» и не пытаться повторять попытку.
Оригинал
add io::ErrorKind::TooManyOpenFiles
Упоминаний: 1 · Просмотров: 3