From aa28c2afbe1e313c00099a951bc2024db3a8036c Mon Sep 17 00:00:00 2001 From: Al Viro Date: Wed, 7 Nov 2012 15:09:38 -0500 Subject: [PATCH] --- yaml --- r: 356653 b: refs/heads/master c: ca86b5dce213f52c7538932740f83cafb2c34547 h: refs/heads/master i: 356651: 13e9a904948c502de3506a4e5ea6887902ce2ac2 v: v3 --- [refs] | 2 +- trunk/include/linux/signal.h | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index da41b688caac..2405953bc489 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 9d94b9e2f354f79461aa674e75b0926d0e768db6 +refs/heads/master: ca86b5dce213f52c7538932740f83cafb2c34547 diff --git a/trunk/include/linux/signal.h b/trunk/include/linux/signal.h index e28e8d455d6e..7c2744198dba 100644 --- a/trunk/include/linux/signal.h +++ b/trunk/include/linux/signal.h @@ -279,10 +279,28 @@ struct old_sigaction { }; #endif +struct ksignal { + struct k_sigaction ka; + siginfo_t info; + int sig; +}; + extern int get_signal_to_deliver(siginfo_t *info, struct k_sigaction *return_ka, struct pt_regs *regs, void *cookie); extern void signal_delivered(int sig, siginfo_t *info, struct k_sigaction *ka, struct pt_regs *regs, int stepping); extern void exit_signals(struct task_struct *tsk); +/* + * Eventually that'll replace get_signal_to_deliver(); macro for now, + * to avoid nastiness with include order. + */ +#define get_signal(ksig) \ +({ \ + struct ksignal *p = (ksig); \ + p->sig = get_signal_to_deliver(&p->info, &p->ka, \ + signal_pt_regs(), NULL);\ + p->sig > 0; \ +}) + extern struct kmem_cache *sighand_cachep; int unhandled_signal(struct task_struct *tsk, int sig);