diff options
Diffstat (limited to 'arch/ia64/kernel/signal.c')
| -rw-r--r-- | arch/ia64/kernel/signal.c | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/arch/ia64/kernel/signal.c b/arch/ia64/kernel/signal.c index b8a0a7d257a9..774f34b675cf 100644 --- a/arch/ia64/kernel/signal.c +++ b/arch/ia64/kernel/signal.c | |||
| @@ -467,15 +467,12 @@ handle_signal (unsigned long sig, struct k_sigaction *ka, siginfo_t *info, sigse | |||
| 467 | if (!setup_frame(sig, ka, info, oldset, scr)) | 467 | if (!setup_frame(sig, ka, info, oldset, scr)) |
| 468 | return 0; | 468 | return 0; |
| 469 | 469 | ||
| 470 | if (!(ka->sa.sa_flags & SA_NODEFER)) { | 470 | spin_lock_irq(¤t->sighand->siglock); |
| 471 | spin_lock_irq(¤t->sighand->siglock); | 471 | sigorsets(¤t->blocked, ¤t->blocked, &ka->sa.sa_mask); |
| 472 | { | 472 | if (!(ka->sa.sa_flags & SA_NODEFER)) |
| 473 | sigorsets(¤t->blocked, ¤t->blocked, &ka->sa.sa_mask); | 473 | sigaddset(¤t->blocked, sig); |
| 474 | sigaddset(¤t->blocked, sig); | 474 | recalc_sigpending(); |
| 475 | recalc_sigpending(); | 475 | spin_unlock_irq(¤t->sighand->siglock); |
| 476 | } | ||
| 477 | spin_unlock_irq(¤t->sighand->siglock); | ||
| 478 | } | ||
| 479 | return 1; | 476 | return 1; |
| 480 | } | 477 | } |
| 481 | 478 | ||
