TCDRAIN(3C)TCDRAIN(3C)NAMEtcdrain - wait for transmission of output
SYNOPSIS
#include <termios.h>
int tcdrain(int fildes);
DESCRIPTION
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 SIGTTOU signals, the
process is allowed to perform the operation, and no signal is sent.
RETURN VALUES
Upon successful completion, 0 is returned. Otherwise, −1 is returned
and errno is set to indicate the error.
ERRORS
The tcdrain() function will fail if:
EBADF
The fildes argument is not a valid file descriptor.
EINTR
A signal interrupted tcdrain().
ENOTTY
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 SIGTTOU.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
┌────────────────────┬────────────────────────────────┐
│ ATTRIBUTE TYPE │ ATTRIBUTE VALUE │
├────────────────────┼────────────────────────────────┤
│Interface Stability │ Standard │
├────────────────────┼────────────────────────────────┤
│MT-Level │ MT-Safe, and Async-Signal-Safe │
└────────────────────┴────────────────────────────────┘
SEE ALSOtcflush(3C), attributes(5), standards(5), termio(7I)
Aug 14, 2002 TCDRAIN(3C)