Merge branch 'for-2.6.40' of git://git.kernel.org/pub/scm/linux/kernel/git/oleg/misc
* 'for-2.6.40' of git://git.kernel.org/pub/scm/linux/kernel/git/oleg/misc: signal: sys_pause() should check signal_pending() ptrace: ptrace_resume() shouldn't wake up !TASK_TRACED thread
This commit is contained in:
@@ -562,7 +562,7 @@ static int ptrace_resume(struct task_struct *child, long request,
|
|||||||
}
|
}
|
||||||
|
|
||||||
child->exit_code = data;
|
child->exit_code = data;
|
||||||
wake_up_process(child);
|
wake_up_state(child, __TASK_TRACED);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@@ -3023,8 +3023,10 @@ SYSCALL_DEFINE2(signal, int, sig, __sighandler_t, handler)
|
|||||||
|
|
||||||
SYSCALL_DEFINE0(pause)
|
SYSCALL_DEFINE0(pause)
|
||||||
{
|
{
|
||||||
current->state = TASK_INTERRUPTIBLE;
|
while (!signal_pending(current)) {
|
||||||
schedule();
|
current->state = TASK_INTERRUPTIBLE;
|
||||||
|
schedule();
|
||||||
|
}
|
||||||
return -ERESTARTNOHAND;
|
return -ERESTARTNOHAND;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user