When ttsession crashes, the tt_fd becomes active and most ToolTalk API calls will return the TT_ERR_NOMP
error message
No Message Passer |
Most applications assume this message means that something has happened to ttsession and will stop sending or receiving ToolTalk messages. Possible recovery from this situation may include:
Recognize the TT_ERR_NOMP
situation
Call tt_close to clean up the connection from its end
Reinitialize the ToolTalk service
Call the sequence:
tt_open, tt_default_session_join, tt_fd
Re-register all patterns and re-declare ptypes
You may need to manipulate the setting of the environment variable TT_SESSION
and the value of the TT_SESSION
property of the root X window (if it exists) when you restart a crashed ttsession to take over where the last one left off. Also, you must inform other participants of the crashed session of the restarted session and the new session id so that they can recover.
When ttsession crashes, you will not be able to recover the following:
Patterns registered by procids in the crashed session
Outstanding requests from procids in the crashed session
Messages that were passed the tt_message_send_on_exit call by procids in the crashed session
Session props
Session-queued messages