diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/signal.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/include/linux/signal.h b/include/linux/signal.h index e28e8d455d6e..7c2744198dba 100644 --- a/include/linux/signal.h +++ b/include/linux/signal.h | |||
@@ -279,10 +279,28 @@ struct old_sigaction { | |||
279 | }; | 279 | }; |
280 | #endif | 280 | #endif |
281 | 281 | ||
282 | struct ksignal { | ||
283 | struct k_sigaction ka; | ||
284 | siginfo_t info; | ||
285 | int sig; | ||
286 | }; | ||
287 | |||
282 | extern int get_signal_to_deliver(siginfo_t *info, struct k_sigaction *return_ka, struct pt_regs *regs, void *cookie); | 288 | extern int get_signal_to_deliver(siginfo_t *info, struct k_sigaction *return_ka, struct pt_regs *regs, void *cookie); |
283 | extern void signal_delivered(int sig, siginfo_t *info, struct k_sigaction *ka, struct pt_regs *regs, int stepping); | 289 | extern void signal_delivered(int sig, siginfo_t *info, struct k_sigaction *ka, struct pt_regs *regs, int stepping); |
284 | extern void exit_signals(struct task_struct *tsk); | 290 | extern void exit_signals(struct task_struct *tsk); |
285 | 291 | ||
292 | /* | ||
293 | * Eventually that'll replace get_signal_to_deliver(); macro for now, | ||
294 | * to avoid nastiness with include order. | ||
295 | */ | ||
296 | #define get_signal(ksig) \ | ||
297 | ({ \ | ||
298 | struct ksignal *p = (ksig); \ | ||
299 | p->sig = get_signal_to_deliver(&p->info, &p->ka, \ | ||
300 | signal_pt_regs(), NULL);\ | ||
301 | p->sig > 0; \ | ||
302 | }) | ||
303 | |||
286 | extern struct kmem_cache *sighand_cachep; | 304 | extern struct kmem_cache *sighand_cachep; |
287 | 305 | ||
288 | int unhandled_signal(struct task_struct *tsk, int sig); | 306 | int unhandled_signal(struct task_struct *tsk, int sig); |