Man Linux: Main Page and Category List

NAME

       tcdrain - wait for transmission of output

SYNOPSIS

       #include <termios.h>

       int tcdrain(int fildes);

DESCRIPTION

       The  tcdrain()  function  shall  block  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, shall cause the process group to be sent a SIGTTOU signal. If
       the calling process  is  blocking  or  ignoring  SIGTTOU  signals,  the
       process  shall  be  allowed  to perform the operation, and no signal is
       sent.

RETURN VALUE

       Upon successful completion, 0 shall be returned. Otherwise, -1 shall be
       returned and errno set to indicate the error.

ERRORS

       The tcdrain() function shall 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.

       The following sections are informative.

EXAMPLES

       None.

APPLICATION USAGE

       None.

RATIONALE

       None.

FUTURE DIRECTIONS

       None.

SEE ALSO

       tcflush()  ,  the  Base  Definitions  volume  of  IEEE Std 1003.1-2001,
       Chapter 11, General Terminal Interface, <termios.h>, <unistd.h>

COPYRIGHT

       Portions  of  this text are reprinted and reproduced in electronic form
       from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
       --  Portable  Operating  System  Interface (POSIX), The Open Group Base
       Specifications Issue 6, Copyright (C) 2001-2003  by  the  Institute  of
       Electrical  and  Electronics  Engineers, Inc and The Open Group. In the
       event of any discrepancy between this version and the original IEEE and
       The  Open Group Standard, the original IEEE and The Open Group Standard
       is the referee document. The original Standard can be  obtained  online
       at http://www.opengroup.org/unix/online.html .