У дескриптора каталога появился способ получить второй независимый
20.09.2026У дескриптора каталога появился метод получения второго независимого дескриптора на тот же каталог. Метод был задуман давно, но при его реализации утрачен.
Какая задача решается
Дескриптор каталога — это ресурс, который читает записи и позволяет менять рабочий каталог процесса. Передать его другому коду напрямую нельзя: дескрипторы не копируются, иначе появился бы класс ошибок с двойным закрытием.
Но иногда нужен второй независимый дескриптор. Например, чтобы фоновая задача обходила каталог, пока основной код смотрит на другой каталог.
Обращение к системе с просьбой получить второй дескриптор работало, но было неприятно: требовалось системное приведение строк, и ошибки обрабатывались вручную.
Новый метод
Метод делает то же самое, но в рамках обычного безопасного кода, с той же обработкой ошибок, что у остальных файловых операций.
Оригинал
add Dir::try_clone
Упоминаний: 1 · Просмотров: 2