t_sync(3N) t_sync(3N)
NAME
tsync - Transportbibliothek synchronisieren
SYNTAX
#include <sys/tiuser.h>
int tsync(int fd);
BESCHREIBUNG
Für den in fd angegebenen Transportendpunkt synchronisiert tsync die
Datenstrukturen, die von der Transportbibliothek verwaltet werden, mit
Informationen des darunterliegenden Transportanbieters. Dabei kann das
Kommando Raw-Dateideskriptoren (die man mittels open(2), dup(2) oder
durch ein Ergebnis von fork(2) und exec(2) erhalten hat) in einen
initialisierten Transportendpunkt umsetzen, wobei angenommen wird, daß
der Dateideskriptor einen Transportanbieter referenziert. Die Funktion
ermöglicht es ebenfalls zwei kooperierenden Prozessen, ihre Interak-
tionen mit dem Transportanbieter zu synchronisieren.
Wenn ein Prozeß z. B. mittels fork einen neuen Prozeß erzeugt und exec
aufruft, muß der neue Prozeß ein tsync durchführen, um die private
Bibliothek-Datenstruktur aufzubauen, die mit einem Transportendpunkt
verbunden ist, und um die Datenstruktur mit der betreffenden Informa-
tion des Transportanbieters zu synchronisieren.
Es ist wichtig zu wissen, daß der Transportanbieter alle Benutzer
eines Transportendpunkts als einen einzigen Benutzer betrachtet. Wenn
mehrere Prozesse denselben Transportendpunkt verwenden, sollten diese
ihre Aufgaben so koordinieren, daß der Transportanbieter nicht in feh-
lerhafte Zustände gerät. tsync liefert den aktuellen Status des
Transportanbieters an den Benutzer zurück, wobei dem Benutzer ermög-
licht wird, den Zustand zu verifizieren, bevor weitere Aktionen durch-
geführt werden. Diese Koordination ist nur unter kooperierenden Pro-
zessen erlaubt. Es ist möglich, daß ein Prozeß oder ein ankommendes
Ereignis den Zustand des Transportanbieters verändern könnte, nachdem
ein tsync durchgeführt wurde.
Falls der Transportanbieter einer Zustandsänderung unterliegt, wenn
tsync aufgerufen wird, schlägt die Funktion fehl.
FEHLER
Im Fehlerfall wird terrno auf einen der folgenden Werte gesetzt:
TBADF Der angegebene Dateideskriptor verweist nicht auf
einen Transportendpunkt.
TSTATECHNG Der Transportanbieter erfährt eine Zustandsänderung.
TSYSERR Während der Ausführung dieser Funktion ist ein System-
fehler aufgetreten.
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98
t_sync(3N) t_sync(3N)
DIAGNOSE
tsync liefert im Erfolgsfall den Zustand des Transportanbieters
zurück. Im Fehlerfall wird -1 zurückgegeben und terrno wird gesetzt,
um den Fehler anzuzeigen. Der zurückgelieferte Zustand kann einer der
folgenden sein:
TUNBND nicht verbunden
TIDLE frei
TOUTCON noch eine abgehende Verbindung ausstehend
TINCON noch eine ankommende Verbindung ausstehend
TDATAXFER Datentransfer
TOUTREL abgehender geordneter Verbindungsabbau (Warten auf
eine Anzeige zum geordneten Verbindungsabbau)
TINREL ankommender geordneter Verbindungsabbau (Warten auf
eine Anforderung zum geordneten Verbindungsabbau)
SIEHE AUCH
dup(2), exec(2), fork(2), open(2).
Seite 2 Reliant UNIX 5.44 Gedruckt 11/98