diff options
author | Steven Whitehouse <swhiteho@redhat.com> | 2006-09-28 08:29:59 -0400 |
---|---|---|
committer | Steven Whitehouse <swhiteho@redhat.com> | 2006-09-28 08:29:59 -0400 |
commit | 185a257f2f73bcd89050ad02da5bedbc28fc43fa (patch) | |
tree | 5e32586114534ed3f2165614cba3d578f5d87307 /arch/mips/kernel/signal.c | |
parent | 3f1a9aaeffd8d1cbc5ab9776c45cbd66af1c9699 (diff) | |
parent | a77c64c1a641950626181b4857abb701d8f38ccc (diff) |
Merge branch 'master' into gfs2
Diffstat (limited to 'arch/mips/kernel/signal.c')
-rw-r--r-- | arch/mips/kernel/signal.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/arch/mips/kernel/signal.c b/arch/mips/kernel/signal.c index 6b4d9be31615..b9d358e05214 100644 --- a/arch/mips/kernel/signal.c +++ b/arch/mips/kernel/signal.c | |||
@@ -424,15 +424,11 @@ void do_signal(struct pt_regs *regs) | |||
424 | if (!user_mode(regs)) | 424 | if (!user_mode(regs)) |
425 | return; | 425 | return; |
426 | 426 | ||
427 | if (try_to_freeze()) | ||
428 | goto no_signal; | ||
429 | |||
430 | if (test_thread_flag(TIF_RESTORE_SIGMASK)) | 427 | if (test_thread_flag(TIF_RESTORE_SIGMASK)) |
431 | oldset = ¤t->saved_sigmask; | 428 | oldset = ¤t->saved_sigmask; |
432 | else | 429 | else |
433 | oldset = ¤t->blocked; | 430 | oldset = ¤t->blocked; |
434 | 431 | ||
435 | |||
436 | signr = get_signal_to_deliver(&info, &ka, regs, NULL); | 432 | signr = get_signal_to_deliver(&info, &ka, regs, NULL); |
437 | if (signr > 0) { | 433 | if (signr > 0) { |
438 | /* Whee! Actually deliver the signal. */ | 434 | /* Whee! Actually deliver the signal. */ |
@@ -446,9 +442,10 @@ void do_signal(struct pt_regs *regs) | |||
446 | if (test_thread_flag(TIF_RESTORE_SIGMASK)) | 442 | if (test_thread_flag(TIF_RESTORE_SIGMASK)) |
447 | clear_thread_flag(TIF_RESTORE_SIGMASK); | 443 | clear_thread_flag(TIF_RESTORE_SIGMASK); |
448 | } | 444 | } |
445 | |||
446 | return; | ||
449 | } | 447 | } |
450 | 448 | ||
451 | no_signal: | ||
452 | /* | 449 | /* |
453 | * Who's code doesn't conform to the restartable syscall convention | 450 | * Who's code doesn't conform to the restartable syscall convention |
454 | * dies here!!! The li instruction, a single machine instruction, | 451 | * dies here!!! The li instruction, a single machine instruction, |
@@ -466,6 +463,7 @@ no_signal: | |||
466 | regs->regs[7] = regs->regs[26]; | 463 | regs->regs[7] = regs->regs[26]; |
467 | regs->cp0_epc -= 4; | 464 | regs->cp0_epc -= 4; |
468 | } | 465 | } |
466 | regs->regs[0] = 0; /* Don't deal with this again. */ | ||
469 | } | 467 | } |
470 | 468 | ||
471 | /* | 469 | /* |