summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorOleg Nesterov <oleg@tv-sign.ru>2008-05-26 20:55:42 +0400
committerLinus Torvalds <torvalds@linux-foundation.org>2008-05-26 10:37:07 -0700
commitcbaffba12ce08beb3e80bfda148ee0fa14aac188 (patch)
treeb35f29814b46593d864e8c8921e9eccac5a5a173 /include/linux
parentc8e85b4f4b9ee23bf0e79bdeb3da274a0f9c663f (diff)
downloadlinux-3.10-cbaffba12ce08beb3e80bfda148ee0fa14aac188.tar.gz
linux-3.10-cbaffba12ce08beb3e80bfda148ee0fa14aac188.tar.bz2
linux-3.10-cbaffba12ce08beb3e80bfda148ee0fa14aac188.zip
posix timers: discard SI_TIMER signals on exec
Based on Roland's patch. This approach was suggested by Austin Clements from the very beginning, and then by Linus. As Austin pointed out, the execing task can be killed by SI_TIMER signal because exec flushes the signal handlers, but doesn't discard the pending signals generated by posix timers. Perhaps not a bug, but people find this surprising. See http://bugzilla.kernel.org/show_bug.cgi?id=10460 Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru> Cc: Austin Clements <amdragon+kernelbugzilla@mit.edu> Cc: Roland McGrath <roland@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/sched.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/sched.h b/include/linux/sched.h
index 5395a6176f4..3e05e547474 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -1848,7 +1848,9 @@ extern void exit_thread(void);
extern void exit_files(struct task_struct *);
extern void __cleanup_signal(struct signal_struct *);
extern void __cleanup_sighand(struct sighand_struct *);
+
extern void exit_itimers(struct signal_struct *);
+extern void flush_itimer_signals(void);
extern NORET_TYPE void do_group_exit(int);