Symbian
Symbian OS Library

FAQ-0758 Why can't I resume a thread after it has suspended itself?

[Index][spacer] [Previous] [Next]



 

Classification: C++ Category: Threads & Processes
Created: 12/19/2001 Modified: 09/11/2002
Number: FAQ-0758
Platform: Symbian OS v6.0

Question:
On the Crystal v6.0 emulator, if a secondary thread suspends itself via a call to
RThread thisthread;
thisthread.Suspend();
this suspends the secondary thread OK. But when I try to resume it again from a primary thread via a call to RThread.Resume() a Plat::Panic KERN RE_ENTRANT occurs. Why is this?


Answer:
This is a defect in the v6.0 emulator. It has been fixed for v6.1. The only work around is to ensure in WINS code that the thread is always suspended by a second thread, not by itself.