Tuxedo 9.0 - Incorrect Server Status AfterCalling tpreturn() With TPEXIT (Doc ID 777084.1)

Last updated on DECEMBER 05, 2016

Applies to:

Oracle Tuxedo - Version 9.0 to 9.0
Information in this document applies to any platform.

Goal

When tpreturn() is called with TPEXIT, Tuxedo will rollback the transaction (if any), send a reply back to the caller, and then it will call exit() to terminate.

In C++, exit() will invoke a global destructor. If the global destructor hangs the exit() call hangs and the server process will remain in the Tuxedo bulletin board with an IDLE status (even though it is actually a dead process).

With an IDLE status the BBL process will not remove the dead process from the bulletin board and the server will still take requests. This causes big problems for Tuxedo administration.

Tuxedo should change the server status to IDLE|SHUTDOWN, before the exit call, like it does in a tpsvrdone() execution.

Solution

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms