BEA Logo BEA Tuxedo Release 7.1

  Corporate Info  |  News  |  Solutions  |  Products  |  Partners  |  Services  |  Events  |  Download  |  How To Buy

 

   Tuxedo Doc Home   |   Programming   |   Topic List   |   Previous   |   Next   |   Contents

   Programming a BEA Tuxedo Application Using C

BEA TUXEDO System-supplied Subroutines

The BEA Tuxedo system-supplied subroutines, tpsvrinit(), tpsvrdone() tpsvrthrinit(3c), and tpsvrthrdone(3c), must follow certain rules when used in transactions.

Note: tpsvrthrinit(3c) and tpsvrthrdone(3c) can be specified for multithreaded applications only. tpsvrinit() and tpsvrdone() can be specified for both threaded and non-threaded applications.

The BEA Tuxedo system server calls tpsvrinit() or tpsvrthrinit(3c) during initialization. Specifically, tpsvrinit() or tpsvrthrinit(3c) is called after the calling process becomes a server but before it starts handling service requests. If tpsvrinit() or tpsvrthrinit(3c) performs any asynchronous communication, all replies must be retrieved before the function returns; otherwise, the system ignores all pending replies and the server exits. If tpsvrinit() or tpsvrthrinit(3c) defines any transactions, they must be completed with all asynchronous replies retrieved before the function returns; otherwise, the system aborts the transaction and ignores all outstanding replies. In this case, the server exits gracefully.

The BEA Tuxedo system server abstraction calls tpsvrdone() or tpsvrthrdone(3c) after it finishes processing service requests but before it exits. At this point, the server's services are no longer advertised, but the server has not yet left the application. If tpsvrdone() or tpsvrthrdone(3c) initiates communication, it must retrieve all outstanding replies before it returns; otherwise, pending replies are ignored by the system and the server exits. If a transaction is started within tpsvrdone() or tpsvrthrdone(3c), it must be completed with all replies retrieved; otherwise, the system aborts the transaction and ignores the replies. In this case, too, the server exits.