TCDRAIN(3C) Standard C Library Functions TCDRAIN(3C)

NAME


tcdrain - 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(7) for descriptions of the following attributes:


+--------------------+--------------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+--------------------------------+
|Interface Stability | Standard |
+--------------------+--------------------------------+
|MT-Level | MT-Safe, and Async-Signal-Safe |
+--------------------+--------------------------------+

SEE ALSO


tcflush(3C), termio(4I), attributes(7), standards(7)

August 14, 2002 TCDRAIN(3C)