tcsetsid()

Updated: April 19, 2023

Make a terminal device a controlling device

Synopsis:

#include <termios.h>

int tcsetsid( const int filedes,
              const pid_t pid );

Arguments:

filedes
A file descriptor that's associated with the device that you want to make a controlling device.
pid
The ID of the process that you want to associate with the controlling device.

Library:

libc

Use the -l c option to qcc to link against this library. This library is usually included automatically.

Description:

The tcsetsid() function makes the terminal device associated with the file descriptor argument filedes into a controlling terminal that's associated with the process pid. If successful, this call causes subsequent hangup conditions on the terminal device filedes to generate a SIGHUP signal on the given process.

This call is equivalent to calling ioctl( filedes, TIOCSCTTY ) to set the controlling terminal to the current process. You can clear the controlling terminal by passing -1 as filedes.

Returns:

0
Success.
-1
Failure; errno is set.

Errors:

EBADF
Invalid file descriptor.
EINVAL
The argument pid is invalid.
ENOSYS, ENOTTY
The argument filedes isn't associated with a terminal device.

Classification:

QNX Neutrino

Safety:  
Cancellation point No
Interrupt handler No
Signal handler No
Thread Yes