7.5.3 Executing a Disorderly Disconnect
The only way in which a disorderly disconnect can be executed is through a call to the tpdiscon(3c)
function (which is equivalent to “pulling the plug” on a connection). This function can be called only by the initiator of a conversation (that is, the client).
Note:
This is not the preferred method for bringing down a conversation. To bring down an application gracefully, the subordinate (the server) should call the tpreturn() function.Use the following signature to call the tpdiscon()
function:
int
tpdiscon(int cd)
The cd
argument specifies the connection descriptor returned by the tpconnect() function when the connection is established.
The tpdiscon()
function generates a
TPEV_DISCONIMM
event for the service at the other end
of the connection, rendering the
cd
invalid. If
a transaction is in progress, the system aborts it and data may be
lost.
If tpdiscon()
is called from a service
that was not the originator of the connection identified by
cd
, the function fails with an error code of
TPEBADDESC
.
For a list and descriptions of all event and error codes, refer to tpdiscon(3c) in the Oracle Tuxedo ATMI C Function Reference.
Parent topic: Ending a Conversation