Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

tcdrain - auf Übertragung einer Ausgabe warten

&pagelevel(4)&pagelevel

Definition

#include <termios.h>

int tcdrain (int fildes);

Beschreibung

tcdrain() wartet, bis alle Ausgaben auf das Objekt übertragen worden sind, das durch fildes angegeben wird. fildes ist ein Dateideskriptor, der mit einem Terminal verbunden ist.

Das Signal SIGTTOU wird an die Prozessgruppe geschickt, wenn ein Prozess, der Mitglied einer Hintergrund-Prozessgruppe ist, versucht, tcdrain() mit dem Dateideskriptor fildes, der mit seinem steuernden Terminal verbunden ist, aufzurufen. Blockiert oder ignoriert der aufrufende Prozess SIGTTOU-Signale, darf er die Operation ausführen, und es wird kein Signal SIGTTOU gesendet.

Returnwert

0

bei Erfolg.

 

-1

bei Fehler. errno wird gesetzt, um den Fehler anzuzeigen.

Fehler

tcdrain() schlägt fehl, wenn gilt: 

 

EBADF

fildes ist kein gültiger Dateideskriptor.

 

EINTR

Während des Systemaufrufs tcdrain() wurde ein Signal abgefangen.

 

Erweiterung

 

EINVAL

Es wurde versucht, auf eine BS2000-Datei zuzugreifen. (Ende)

 

EIO

Die Prozessgruppe des schreibenden Prozesses ist verwaist, und der schreibende Prozess ignoriert oder blockiert SIGTTOU nicht.

 

ENOTTY

Die mit fildes verbundene Datei ist kein Terminal.

Hinweis

Auf blockorientierte Terminals hat tcdrain() keine Wirkung. 

Siehe auch

auch tcflush(), termios.h, unistd.h, Abschnitt "Allgemeine Terminalschnittstelle“.