On Mon Jun 10, 2013 at 00:13:12 -0700, BogDan wrote:
Not all the task threads are killed when a task exits or it crashes. I've created a simple example here: http://paste.kde.org/760274 After application crashes (line 22), test thread is still alive, I still
can
see "Test thread alive" message printed.
What happens is that the thread executing 'main' is having a page fault while the other thread is doing fine. I guess exiting the app is easy in that case but nothing left for debugging.
But if nobody handles that exception (e.g. the debugger), then the kernel shouldn't kill the task? This happens on all O.S.s I've tried (linux, *BSD, windows, etc.) :)
For the kernel, the fault is handled by the re-kernel because it was succesfully posted there. Now the re-kernel could exit, like described above.
If I call exit or return instead to crash the task, the test thread is
still alive .
That works fine for me.
Still no joy on my side :(, I comment line 22 (the one which caused the page fault), so the main function exists after 5 seconds but I still see the "Test thread alive" message printed on my screen every second. I'm using Fiasco/L4Re from rev 56 for x86.
Use ned.
Adam