Added a TODO item
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7630 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -52,7 +52,7 @@ handle_signals(struct thread *thread, int state)
|
|||||||
|
|
||||||
if (handler->sa_handler == SIG_IGN) {
|
if (handler->sa_handler == SIG_IGN) {
|
||||||
// signal is to be ignored
|
// signal is to be ignored
|
||||||
// XXX apply zombie cleaning on SIGCHLD
|
// ToDo: apply zombie cleaning on SIGCHLD
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (handler->sa_handler == SIG_DFL) {
|
if (handler->sa_handler == SIG_DFL) {
|
||||||
@@ -85,6 +85,15 @@ handle_signals(struct thread *thread, int state)
|
|||||||
thread->return_flags |= THREAD_RETURN_INTERRUPTED;
|
thread->return_flags |= THREAD_RETURN_INTERRUPTED;
|
||||||
RELEASE_THREAD_LOCK();
|
RELEASE_THREAD_LOCK();
|
||||||
restore_interrupts(state);
|
restore_interrupts(state);
|
||||||
|
|
||||||
|
// ToDo: when we have more than a thread per process,
|
||||||
|
// it can likely happen (for any thread other than the first)
|
||||||
|
// that here, interrupts are still disabled.
|
||||||
|
// Changing the above line with "enable_interrupts()" fixes
|
||||||
|
// the problem, though we should find its cause.
|
||||||
|
// We absolutely need interrupts enabled when we enter
|
||||||
|
// thread_exit().
|
||||||
|
|
||||||
thread_exit();
|
thread_exit();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user