t_sync(3)t_sync(3)NAMEt_sync() - synchronize transport library
For the transport endpoint specified by fd, the function synchronizes
the data structures managed by the transport library with information
from the underlying transport provider. In doing so, it can convert an
uninitialized file descriptor (obtained via or as a result of a and to
an initialized endpoint, assuming that the file descriptor referenced a
transport endpoint, by updating and allocating the necessary library
data structures. This function also allows two cooperating processes
to synchronize their interaction with a transport provider.
For example, if a process forks a new process and issues an the new
process must issue a to build the private library data structure asso‐
ciated with a transport endpoint and to synchronize the data structure
with the relevant provider information.
It is important to remember that the transport provider treats all
users of a transport endpoint as a single user. If multiple processes
are using the same endpoint, they should coordinate their activities so
as not to violate the state of the transport endpoint. The function
returns the current state of the transport endpoint to the user,
thereby enabling the user to verify the state before taking further
action. This coordination is only valid among cooperating processes;
it is possible that a process or an incoming event could change the
endpoint's state after a is issued.
If the transport endpoint is undergoing a state transition when is
called, the function will fail.
All - apart from
is not fork-safe.
returns the state of the transport connection endpoint on successful
completion and −1 on failure, and is set to indicate the error. The
state returned is one of the following:
Outgoing connection pending
Incoming connection pending
Outgoing orderly release (waiting for an orderly release indication)
Incoming orderly release (waiting for an orderly release request)
On failure, is set to one of the following:
[TBADF] The specified file descriptor does not refer to a
transport endpoint. This error may be returned when
the fd has been previously closed or an erroneous num‐
ber may have been passed to the call.
[TSTATECHNG] The transport endpoint is undergoing a state change.
[TSYSERR] A system error has occurred during execution of this
[TPROTO] (XTI only) This error indicates that a communication
problem has been detected between XTI and the trans‐
port provider for which there is no other suitable XTI
SEE ALSOt_open(3), t_getstate(3), dup(2), exec(2), fork(2), open(2),