summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2009-07-03 13:44:56 (GMT)
committerScott Wood <scottwood@freescale.com>2014-05-14 18:37:45 (GMT)
commit6a12bc3add6b316558fd23459201ce6f60fe6af7 (patch)
tree1c62f09e5d4fcc4a5f28e8298ae7ae1c74aded5f /include/linux
parentb6b7726f9e05f979aaeb2405eb76d3e1ac06d5b6 (diff)
downloadlinux-fsl-qoriq-6a12bc3add6b316558fd23459201ce6f60fe6af7.tar.xz
signals: Allow rt tasks to cache one sigqueue struct
To avoid allocation allow rt tasks to cache one sigqueue struct in task struct. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/sched.h1
-rw-r--r--include/linux/signal.h1
2 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/sched.h b/include/linux/sched.h
index 230094d..4d58a49 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -1204,6 +1204,7 @@ struct task_struct {
/* signal handlers */
struct signal_struct *signal;
struct sighand_struct *sighand;
+ struct sigqueue *sigqueue_cache;
sigset_t blocked, real_blocked;
sigset_t saved_sigmask; /* restored if set_restore_sigmask() was used */
diff --git a/include/linux/signal.h b/include/linux/signal.h
index 2ac423b..1414eb2 100644
--- a/include/linux/signal.h
+++ b/include/linux/signal.h
@@ -226,6 +226,7 @@ static inline void init_sigpending(struct sigpending *sig)
}
extern void flush_sigqueue(struct sigpending *queue);
+extern void flush_task_sigqueue(struct task_struct *tsk);
/* Test if 'sig' is valid signal. Use this instead of testing _NSIG directly */
static inline int valid_signal(unsigned long sig)