t_sync(3)t_sync(3)NAMEt_sync() - synchronize transport library
SYNOPSISDESCRIPTION
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.
Valid States
All - apart from
Fork Safety
is not fork-safe.
RETURN VALUE
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:
Unbound
Idle
Outgoing connection pending
Incoming connection pending
Data transfer
Outgoing orderly release (waiting for an orderly release indication)
Incoming orderly release (waiting for an orderly release request)
ERRORS
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
function.
[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),
thread_safety(5).
STANDARDS CONFORMANCEt_sync(3)