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