|
||
The death of a thread (and any subsequent notifications etc.) is effectively just an indication that the thread will never execute any more code; it does not guarantee that the operating system has yet finished removing the thread.
When a thread terminates, the operating system cleans up all resources still allocated to the thread; this includes closing any sessions which it had open. Closing a session involves notifying the other party in the session that the thread has disconnected so that it can do its own cleanup; the operating system needs to keep the dead thread's data structures until all of this disconnection activity has finished.
If a thread terminates, there may be a period of time during which
any attempt to create a new thread of the same name fails with
KErrAlreadyExists
.