DUP(2) DUP(2) НАЗВАНИЕ dup - дублирование дескриптора открытого файла СИНТАКСИС |int dup (fildes) |int fildes; ОПИСАНИЕ Аргумент fildes - это дескриптор файла, полученный пос- ле выполнения системных вызовов creat, open, dup, fcntl и pipe. Системный вызов dup возвращает новый дескриптор файла, имеющий следующие общие свойства с исходным дескриптором: 1. Тот же открытый файл (или канал). 2. Тот же указатель текущей позиции в файле (то есть оба дескриптора разделяют один и тот же указа- тель). 3. Тот же режим доступа (чтение, запись или чтение/- запись). Новый дескриптор создается таким, чтобы после выполне- ния системных вызовов exec(2) файл оставался открытым [см. fcntl(2)]. Возвращается наименьший из доступных дескрипторов. Системный вызов dup завершается неудачей, если выполне- но хотя бы одно из следующих условий: [EBADF] Аргумент fildes не является корректным дескриптором открытого файла. [EINTR] Во время выполнения системного вызова пе- рехвачен сигнал. [EMFILE] Превышается максимально допустимое коли- чество файлов, открытых одновременно в од- ном процессе. [ENOLINK] Аргумент fildes указывает на удаленный компьютер, связи с которым в данный момент нет. СМ. ТАКЖЕ close(2), creat(2), exec(2), fcntl(2), open(2), pipe(2), lockf(3C). ДИАГНОСТИКА При успешном завершении результат равен неотрицательно- му целому числу - дескриптору файла; в случае ошибки возвращается -1, а переменной errno присваивается код ошибки.