diff options
author | Hiroshi Shimamoto <h-shimamoto@ct.jp.nec.com> | 2008-09-05 19:26:55 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-09-06 08:54:01 -0400 |
commit | bb57925f5057837c248b57a51181fd6b138a32f3 (patch) | |
tree | e159c9a7637ecda174fd885f87b4b86ef22c82a9 | |
parent | f12e6a451aad671a724e61abce2b8b323f209355 (diff) |
x86_32: signal: use syscall_get_nr and error
Use asm/syscall.h interfaces that do the same things.
Signed-off-by: Hiroshi Shimamoto <h-shimamoto@ct.jp.nec.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r-- | arch/x86/kernel/signal_32.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/arch/x86/kernel/signal_32.c b/arch/x86/kernel/signal_32.c index b21070ea33a4..3e4a688bb84f 100644 --- a/arch/x86/kernel/signal_32.c +++ b/arch/x86/kernel/signal_32.c | |||
@@ -27,6 +27,7 @@ | |||
27 | #include <asm/uaccess.h> | 27 | #include <asm/uaccess.h> |
28 | #include <asm/i387.h> | 28 | #include <asm/i387.h> |
29 | #include <asm/vdso.h> | 29 | #include <asm/vdso.h> |
30 | #include <asm/syscall.h> | ||
30 | #include <asm/syscalls.h> | 31 | #include <asm/syscalls.h> |
31 | 32 | ||
32 | #include "sigframe.h" | 33 | #include "sigframe.h" |
@@ -507,9 +508,9 @@ handle_signal(unsigned long sig, siginfo_t *info, struct k_sigaction *ka, | |||
507 | int ret; | 508 | int ret; |
508 | 509 | ||
509 | /* Are we from a system call? */ | 510 | /* Are we from a system call? */ |
510 | if ((long)regs->orig_ax >= 0) { | 511 | if (syscall_get_nr(current, regs) >= 0) { |
511 | /* If so, check system call restarting.. */ | 512 | /* If so, check system call restarting.. */ |
512 | switch (regs->ax) { | 513 | switch (syscall_get_error(current, regs)) { |
513 | case -ERESTART_RESTARTBLOCK: | 514 | case -ERESTART_RESTARTBLOCK: |
514 | case -ERESTARTNOHAND: | 515 | case -ERESTARTNOHAND: |
515 | regs->ax = -EINTR; | 516 | regs->ax = -EINTR; |
@@ -623,9 +624,9 @@ static void do_signal(struct pt_regs *regs) | |||
623 | } | 624 | } |
624 | 625 | ||
625 | /* Did we come from a system call? */ | 626 | /* Did we come from a system call? */ |
626 | if ((long)regs->orig_ax >= 0) { | 627 | if (syscall_get_nr(current, regs) >= 0) { |
627 | /* Restart the system call - no handlers present */ | 628 | /* Restart the system call - no handlers present */ |
628 | switch (regs->ax) { | 629 | switch (syscall_get_error(current, regs)) { |
629 | case -ERESTARTNOHAND: | 630 | case -ERESTARTNOHAND: |
630 | case -ERESTARTSYS: | 631 | case -ERESTARTSYS: |
631 | case -ERESTARTNOINTR: | 632 | case -ERESTARTNOINTR: |