AAO DRAMA/DRAMA2 C++ Interface
DRAMA C++11 and later interface

◆ OrphanHandler()

virtual void drama::Task::OrphanHandler ( const OrphanDetails details)
protectedvirtualinherited

Orphan transaction handler.

This this is invoked to handle orphan transactions.

Orphaned transactions are those transactions which were not complete when their parent action (or UFACE thread) completed. This method will be invoked for each such transaction.

Subclasses can override this method to handle orphans in there preferred way. The base implementation will output a message to stderr.

The context of this call is that the DRAMA lock is taken, you are running in the thread that called RunDrama() and are in, but are not in any action context. At this point, to send messages, you must enable UFACE context in the traditional (C) DRAMA style.

It should also be noted that the transaction that triggered this call may have already been deleted by DRAMA, that is, the transaction ID in the details structure is referring to an invalid transaction ID. It will not have been reallocated as yet. You should only be using this value as a lookup, not as an argument to DRAMA calls.

Parameters
detailsDetails of the orphaned transaction.