#include <termios.h>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 terminal.
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
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:
The fildes argument is not a valid file descriptor.
A signal interrupted tcdrain().
The file associated with fildes is not a terminal.
The tcdrain() function may fail if:
The process group of the writing process is orphaned, and the writing process is not ignoring
See attributes(5) for descriptions of the following attributes:
|ATTRIBUTE TYPE||ATTRIBUTE VALUE|
|MT-Level||MT-Safe, and Async-Signal-Safe|