История изменений
Исправление firkax, (текущая версия) :
Существуют гарантии другого, прописаны в каком-то стандарте, а может даже и в нескольких. Ну и во всех известных юниксах так и есть: новый файловый дескриптор (кроме dup2()) всегда создаётся с минимальным свободным номером. И никакого wrap: файловый дескриптор это индекс к какому-то массиву в описании процесса в ядре, их количество ограничено длиной этого массива, хоть сама длина и не фиксирована нигде.
А применение такое: closefrom(3)
закроет всё кроме in/out/err, можно добавить ещё что-то незакрываемое под номерами 3 4 итд. Для того, чтобы дочерний процесс не смог злонамеренно или из-за бага воспользоваться утёкшими (в комплекте с открытыми файлами) правами.
Исходная версия firkax, :
Существуют гарантии другого, прописаны в каком-то стандарте, а может даже и в нескольких. Ну и во всех известных юниксах так и есть: новый файловый дескриптор (кроме dup2()) всегда создаётся с минимальным свободным номером. И никакого wrap: файловый дескриптор это индекс к какому-то массиву в описании процесса в ядре, их количество ограничено длиной этого массива, хоть сама длина и не фиксирована нигде.
А применение такое: closefrom(3)
закроет всё кроме in/out/err, можно добавить ещё что-то незакрываемое под номерами 3 4 итд.