Messages in this thread | | | Date | Wed, 04 May 2005 19:37:16 +0200 | From | Olivier Croquette <> | Subject | Scheduler: SIGSTOP on multi threaded processes |
| |
Hello
On a 2.6.11 x86 system, I am SIGSTOP'ing processes which have started several threads before.
As expected, all threads are suspended.
But surprisingly, it can happen that some threads are still scheduled after the SIGSTOP has been issued.
Typically, they get scheduled 2 times within the next 5ms, before being really stopped.
Sadly, I could not reproduce that in a smaller example yet.
As this behaviour is IMA against the SIGSTOP concept, I tried to analyze the kernel code responsible for that. I could not really find the exact lines.
So here are my questions:
1. do you know any reason for which the SIGSTOP would not stop immediatly all threads of a process?
2. where do the threads get suspended exactly in the kernel? I think it is in signal.c but I am not sure exactly were.
3. can you confirm that the bug MUST be in my code? :)
Thanks!
Best regards
Olivier - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |