RThread().Id() and RThread.Open() Problem
I have a little problem concerning RThreads.
I have two Threads A and B. I want to open the A's handle from B to communicate with it etc. But it dosent' work. Here a simplified snippet.
// THREAD A
RThread thrA; // created, up & running
// In A's thread-context I execute
TThreadId thrIdA = RThread().Id();
// printf thrIdA.Id() shows a valid thread Id
// THREAD B
RThread thrB; // created, up & running
// In B's thread-context I execute
TThreadId thrIdB = RThread().Id();
// printf thrIdB.Id() shows a valid thread Id
// An empty TThreadId, later filled by A's thread id.
// in THREAD A
// then, from A's thread-context, I pass A's threadId to thrB
thrExternal = thrIdA;
// thrExtrenal.Id() == thrIdA().Id()
// in THREAD B
// then, sometime later, I try to communicate with thread A from thread B
// theExternal.Id() == thrIdA().Id() <- so far so good
int err = thr.Open( thrExternal );
// err == KErrNone
// then I wanted to see what's the Id of thr... and the value seems wrong (in any case thr.Id() != thrExternal.Id())
// so this here won't work as well
thr.RequestComplete( &iStatusOfThreadA, someCode );
// iStatusOfThreadA is the iStatus of an ActiveObject in thrA
Thank you in advance.