|
|
|
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()Creates a thread-death notifier, and opens this handle to that thread-death noti...Logon(TRequestStatus &,TInt &)constIssues a request for notification of the death of a thread.LogonCancel()constCancels an outstanding notification request to the thread-death notifier.Inherited from RHandleBase:
Attributes()constBTraceId()constReturns a unique object identifier for use with BTrace
Close()Closes the handle.Duplicate(const RThread &,TOwnerType)Creates a valid handle to the kernel object for which the specified thread alrea...FullName()constGets the full name of the handle.FullName(TDes &)constGets the full name of the handle.Handle()constRetrieves the handle-number of the object associated with this handle.HandleInfo(THandleInfo *)Gets information about the handle.Name()constGets the name of the handle.Open(const TFindHandleBase &,TOwnerType)Opens a handle to a kernel side object found using a find-handle object.RHandleBase(TInt)Copy constructor.SetHandle(TInt)Sets the handle-number of this handle to the specified value.SetHandleNC(TInt)Sets the handle-number of this handle to the specified value, and marks it as no...SetReturnedHandle(TInt)Sets the handle-number of this handle to the specified value.iHandleIMPORT_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 RUndertaker::LogonCancel()const, then the request completes with the value KErrCancel.
Note that if a request completes normally, i.e. not as a result of a RUndertaker::LogonCancel()const, then the handle to the dying thread must be closed when there is no further interest in it.
|
|
RUndertaker::LogonCancel()constCancels an outstanding notification request to the thread-death notifier.IMPORT_C TInt LogonCancel() const;
Cancels an outstanding notification request to the thread-death notifier.
|
RUndertaker::Logon(TRequestStatus &,TInt &)constIssues a request for notification of the death of a thread.