Beim Verschwinden des Carrier-Signals (modem disconnect) an der Schnittstelle für ein steuerndes Terminal, wird, wenn in c_cflag CLOCAL
nicht gesetzt ist (siehe Abschnitt "Steuermodi“), das Signal für den Verbindungsabbruch SIGHUP
an den steuernden Prozess gesendet, der diesem Terminal zugeordnet ist. Dadurch wird der steuernde Prozess abgebrochen, sofern keine anderen Vorkehrungen getroffen wurden (siehe exit()
). Alle nachfolgenden Leseoperationen von diesem Terminal liefern dann die Anzeige für Dateiende. Damit können Prozesse, die Eingaben von einem Terminal lesen und auf Dateiende prüfen, nach einem Verbindungsabbruch entsprechend beendet werden. Jede nachfolgende Schreiboperation mit write()
auf dieses Terminal liefert das Ergebnis -1, und errno
ist dann gleich EIO
gesetzt, bis die Datei geschlossen wird.