From 160846eac1f86c9cdc2c362b7112cb7fd26f7aab Mon Sep 17 00:00:00 2001 From: Pavel Emelyanov Date: Wed, 30 Apr 2008 00:52:34 -0700 Subject: [PATCH] --- yaml --- r: 95103 b: refs/heads/master c: af7fff9c13d56657dc328c75590f401c99bcecd9 h: refs/heads/master i: 95101: 310318922a3944f746dde96fe9cd44bf5cdfc9eb 95099: 6b64abeccd9b8f761ee18c5effa3d9dc17ded8d6 95095: 6de3f07be02317583b10e9a1c9517332838f51a5 95087: 8dcc9a2a5f1424ba92631a823ec199cce146d6f7 95071: 1269bfa21b6a96a8aec5432ba5961183bd92b1af 95039: 60b55640ff679a9fba1ca05ebcb23ca5e21ad8be 94975: fc5b720abec6e0a9dcff3c84fe5410c23aa7fe63 v: v3 --- [refs] | 2 +- trunk/kernel/signal.c | 12 +++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/[refs] b/[refs] index 7577bbf99278..cc775ff24052 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: e1401c6bbb289d154eb0d0c292cc9f8259e4af73 +refs/heads/master: af7fff9c13d56657dc328c75590f401c99bcecd9 diff --git a/trunk/kernel/signal.c b/trunk/kernel/signal.c index f5f3b8a61bee..772aa011dad8 100644 --- a/trunk/kernel/signal.c +++ b/trunk/kernel/signal.c @@ -657,6 +657,11 @@ static void handle_stop_signal(int sig, struct task_struct *p) } } +static inline int legacy_queue(struct sigpending *signals, int sig) +{ + return (sig < SIGRTMIN) && sigismember(&signals->signal, sig); +} + static int send_signal(int sig, struct siginfo *info, struct task_struct *t, struct sigpending *signals) { @@ -721,9 +726,6 @@ static int send_signal(int sig, struct siginfo *info, struct task_struct *t, return 0; } -#define LEGACY_QUEUE(sigptr, sig) \ - (((sig) < SIGRTMIN) && sigismember(&(sigptr)->signal, (sig))) - int print_fatal_signals; static void print_fatal_signal(struct pt_regs *regs, int signr) @@ -771,7 +773,7 @@ specific_send_sig_info(int sig, struct siginfo *info, struct task_struct *t) /* Support queueing exactly one non-rt signal, so that we can get more detailed information about the cause of the signal. */ - if (LEGACY_QUEUE(&t->pending, sig)) + if (legacy_queue(&t->pending, sig)) goto out; ret = send_signal(sig, info, t, &t->pending); @@ -932,7 +934,7 @@ __group_send_sig_info(int sig, struct siginfo *info, struct task_struct *p) if (sig_ignored(p, sig)) return ret; - if (LEGACY_QUEUE(&p->signal->shared_pending, sig)) + if (legacy_queue(&p->signal->shared_pending, sig)) /* This is a non-RT signal and we already have one queued. */ return ret;