Location:
e32std.h
Link against: euser.lib
class RUndertaker : public RHandleBase;
Handle to a thread death notifier.
The notifier allows threads to be notified of the death of another thread.
The thread-death notifier itself is a kernel object.
RHandleBase
- A handle to an object
RUndertaker
- Handle to a thread death notifier
Defined in RUndertaker
:
Create()
, Logon()
, LogonCancel()
Inherited from RHandleBase
:
Attributes()
,
Close()
,
Duplicate()
,
FullName()
,
Handle()
,
HandleInfo()
,
Name()
,
Open()
,
SetHandle()
,
SetHandleNC()
,
SetReturnedHandle()
,
iHandle
IMPORT_C TInt Create();
Creates a thread-death notifier, and opens this handle to that thread-death notifier.
Ownership of this thread-death notifier is vested in the current process.
|
IMPORT_C TInt Logon(TRequestStatus &aStatus, TInt &aThreadHandle) const;
Issues a request for notification of the death of a thread.
When another thread dies, the request completes and the TRequestStatus
object contains the value KErrDied; in addition, aThreadHandle contains the handle-number of the dying thread.
The requesting thread can construct a proper handle for the dying thread using the code:
{
RThread r;
r.SetHandle(aThreadHandle);
...r.Close();
}
Alternatively, if an outstanding request is cancelled by a call to LogonCancel()
, then the request completes with the value KErrCancel.
Note that if a request completes normally, i.e. not as a result of a LogonCancel()
, then the handle to the dying thread must be closed when there is no further interest in it.
|
|
IMPORT_C TInt LogonCancel() const;
Cancels an outstanding notification request to the thread-death notifier.
|