xref: /openbmc/linux/arch/um/os-Linux/signal.c (revision 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2)
1 /*
2  * Copyright (C) 2004 PathScale, Inc
3  * Licensed under the GPL
4  */
5 
6 #include <signal.h>
7 #include "time_user.h"
8 #include "mode.h"
9 #include "sysdep/signal.h"
10 
11 void sig_handler(int sig)
12 {
13 	struct sigcontext *sc;
14 
15 	ARCH_GET_SIGCONTEXT(sc, sig);
16 	CHOOSE_MODE_PROC(sig_handler_common_tt, sig_handler_common_skas,
17 			 sig, sc);
18 }
19 
20 extern int timer_irq_inited;
21 
22 void alarm_handler(int sig)
23 {
24 	struct sigcontext *sc;
25 
26 	ARCH_GET_SIGCONTEXT(sc, sig);
27 	if(!timer_irq_inited) return;
28 
29 	if(sig == SIGALRM)
30 		switch_timers(0);
31 
32 	CHOOSE_MODE_PROC(sig_handler_common_tt, sig_handler_common_skas,
33 			 sig, sc);
34 
35 	if(sig == SIGALRM)
36 		switch_timers(1);
37 }
38 
39 /*
40  * Overrides for Emacs so that we follow Linus's tabbing style.
41  * Emacs will notice this stuff at the end of the file and automatically
42  * adjust the settings for this buffer only.  This must remain at the end
43  * of the file.
44  * ---------------------------------------------------------------------------
45  * Local variables:
46  * c-file-style: "linux"
47  * End:
48  */
49