Nested threads
Norman Feske
norman.feske at genode-labs.com
Sat Jun 9 10:37:03 CEST 2018
Hi Johannes,
On 01.06.2018 11:38, Johannes Kliemann wrote:
> are nested threads (e.g. a thread class that owns an object of another
> thread class and starts it from within its entry() method) a special
> case? I noticed that the terminal session blocked from the inner thread
> (write was called from the thread but the write implementation of the
> terminal session was never executed). Putting the inner thread on the
> same level as the outer one solved the problem.
I don't know exactly what you mean by "nesting" but I cannot think of
anything special when instantiating a 'Thread' object in the context of
another thread. By this notion, each thread - in fact, even the initial
entrypoint - of a component would be a nested thread then.
What you observe looks like some form of deadlock. Are you able to
reproduce the problem in a simple scenario on base-linux? If yes, the
backtraces of the various threads (obtained by attaching GDB to the PID
of your component, see below) would certainly reveal the issue.
cd build/x86_64/debug
ln -sf ld-linux.lib.so ld.lib.so
gdb ./binary_of_your_component -p <PID-of-your-component>
Cheers
Norman
--
Dr.-Ing. Norman Feske
Genode Labs
https://www.genode-labs.com · https://genode.org
Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth
More information about the users
mailing list