tcsetsid()

Сделать оконечное устройство управляющим устройством

Прототип:

#include <termios.h>
int tcsetsid( int fd,
pid_t pid );

Аргументы:

fd
Файловый дескриптор, связанный с устройством, которое необходимо сделать управляющим.
pid
Идентификатор процесса, с которым нужно связать управляющее устройство.

Библиотека:

libc

Описание:

Функция tcsetsid() превращает терминальное устройство, связанное с fd, в управляющий терминал, связанный с процессом pid. В случае успеха этот вызов вызывает последующие условия зависания на устройстве, связанном с fd, для генерации сигнала SIGHUP для данного процесса.

Этот вызов эквивалентен вызову ioctl( fd, TIOCSCTTY) для установки управляющего терминала на текущий процесс. Вы можете очистить управляющий терминал, передав -1 как fd.

Возвращаемое значение:

0
Успешное завершение.
-1
Возникла ошибка. Код ошибки записан в errno.

Коды ошибок:

EBADF
Некорректный аргумент fd.
EINVAL
Некорректный аргумент pid.
ENOSYS, ENOTTY
Аргумент fd не относится к терминальному устройству.

Классификация:

ЗОСРВ «Нейтрино»

Безопасность использования
Точка остановки потока
Нет
Обработчик прерываний
Нет
Обработчик сигналов
Нет
В потоке
Да

Тематические ссылки:

ioctl(), tcgetsid()




Предыдущий раздел: Описание API системной библиотеки