Closing a topic in Symbian

I'm a little disappointed with the definition of Thread termination they have on Symbian. Please correct me if I am wrong. Symbian OS themes can end their lives in 4 different ways:

  • When the thread function completes normally,
  • When user :: Exit () is called for the current thread;
  • When a thread dies forcibly by calling RThread :: Kill () or RThread :: Terminate ();
  • When panic was raised on the User :: Panic thread

My question is, which of these four situations corresponds to "thread termination"?

PS: I came up with this question while researching the definition of "critical threads" in the Symbian documentation. Perhaps this extract might be helpful.

+2


source to share


1 answer


All of them. the SDK documentation defines this exactly:

The death of the thread (and any subsequent notifications, etc.) actually simply indicates that the thread will never execute more code; this does not guarantee that the operating system has not yet finished deleting the thread.

Now if you check RThread::ExitType

, you will find the following information:



EExitKill

The thread or process ended as a result of kill, i.e. Kill()

was called on a handle RThread

or RProcess

. Or the thread was terminated as a result of the call User::Exit()

.

EExitTerminate

The thread or process terminated as a result of termination, i.e. Terminate()

was called on a handle RThread

or RProcess

.

EExitPanic

The thread or process was in a panic.

EExitPending

The thread or process is alive.

For cases 1, 2, and Kill

case 3, you get EExitKill

. Other cases are quite understandable.

+2


source







All Articles