tcdrain - wait for transmission of output
int tcdrain(int fildes);
The tcdrain() function waits until all output written to the
object referred to by fildes is transmitted. The fildes
argument is an open file descriptor associated with a termi-
Any attempts to use tcdrain() from a process which is a
member of a background process group on a fildes associated
with its controlling terminal, will cause the process group
to be sent a SIGTTOU signal. If the calling process is
blocking or ignoring SIGTTOU signals, the process is allowed
to perform the operation, and no signal is sent.
Upon successful completion, 0 is returned. Otherwise, -1 is
returned and errno is set to indicate the error.
The tcdrain() function will fail if:
EBADF The fildes argument is not a valid file descriptor.
EINTR A signal interrupted tcdrain().
The file associated with fildes is not a terminal.
The tcdrain() function may fail if:
EIO The process group of the writing process is orphaned,
and the writing process is not ignoring or blocking
See attributes(5) for descriptions of the following attri-
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
| MT-Level | MT-Safe, and Async-Signal-Safe|
tcflush(3C), attributes(5), termio(7I)
Man(1) output converted with