aboutsummaryrefslogtreecommitdiffstats
path: root/arch/um/os-Linux/signal.c
diff options
context:
space:
mode:
authorJeff Dike <jdike@addtoit.com>2007-05-11 01:22:32 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-05-11 11:29:33 -0400
commit2ea5bc5e5bb51492f189bba44045e0de7decf4a0 (patch)
tree3451944d97b58989fcc4c06ec70d9f43aaaf3b0a /arch/um/os-Linux/signal.c
parente1a79c400a86f2f6a6735480e31f6ee159e76fa2 (diff)
uml: tidy IRQ code
Some tidying of the irq code before introducing irq stacks. Mostly style fixes, but the timer handler calls the timer code directly rather than going through the generic sig_handler_common_skas. Signed-off-by: Jeff Dike <jdike@linux.intel.com> Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/um/os-Linux/signal.c')
-rw-r--r--arch/um/os-Linux/signal.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/arch/um/os-Linux/signal.c b/arch/um/os-Linux/signal.c
index 48d493415301..420ee86d0d1a 100644
--- a/arch/um/os-Linux/signal.c
+++ b/arch/um/os-Linux/signal.c
@@ -61,15 +61,19 @@ void sig_handler(int sig, struct sigcontext *sc)
61 61
62static void real_alarm_handler(int sig, struct sigcontext *sc) 62static void real_alarm_handler(int sig, struct sigcontext *sc)
63{ 63{
64 union uml_pt_regs regs;
65
64 if(sig == SIGALRM) 66 if(sig == SIGALRM)
65 switch_timers(0); 67 switch_timers(0);
66 68
67 CHOOSE_MODE_PROC(sig_handler_common_tt, sig_handler_common_skas, 69 if(sc != NULL)
68 sig, sc); 70 copy_sc(&regs, sc);
71 regs.skas.is_user = 0;
72 unblock_signals();
73 timer_handler(sig, &regs);
69 74
70 if(sig == SIGALRM) 75 if(sig == SIGALRM)
71 switch_timers(1); 76 switch_timers(1);
72
73} 77}
74 78
75void alarm_handler(int sig, struct sigcontext *sc) 79void alarm_handler(int sig, struct sigcontext *sc)