mirror of
https://github.com/torvalds/linux.git
synced 2024-11-28 15:11:31 +00:00
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:
commit
9720d75399
@ -562,7 +562,7 @@ static int ptrace_resume(struct task_struct *child, long request,
|
||||
}
|
||||
|
||||
child->exit_code = data;
|
||||
wake_up_process(child);
|
||||
wake_up_state(child, __TASK_TRACED);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -3023,8 +3023,10 @@ SYSCALL_DEFINE2(signal, int, sig, __sighandler_t, handler)
|
||||
|
||||
SYSCALL_DEFINE0(pause)
|
||||
{
|
||||
current->state = TASK_INTERRUPTIBLE;
|
||||
schedule();
|
||||
while (!signal_pending(current)) {
|
||||
current->state = TASK_INTERRUPTIBLE;
|
||||
schedule();
|
||||
}
|
||||
return -ERESTARTNOHAND;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user