diff options
author | Jeff Dike <jdike@addtoit.com> | 2008-02-05 01:31:16 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2008-02-05 12:44:30 -0500 |
commit | 3a24ebf0cb2ca44fdcdb5cae9ed2e778e5170f97 (patch) | |
tree | fe67635a8efdd58fade83eb573a0ed88c9c816b1 /arch | |
parent | cfef8f34e7cf57f3d278ceda79c85112dec13dc6 (diff) |
uml: remove init_irq_signals
init_irq_signals doesn't need to be called from the context of a new process.
It initializes handlers, which are useless in process context. With that call
gone, init_irq_signals has only one caller, so it can be inlined into
init_new_thread_signals.
Signed-off-by: Jeff Dike <jdike@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/um/include/os.h | 1 | ||||
-rw-r--r-- | arch/um/os-Linux/irq.c | 11 | ||||
-rw-r--r-- | arch/um/os-Linux/process.c | 5 |
3 files changed, 4 insertions, 13 deletions
diff --git a/arch/um/include/os.h b/arch/um/include/os.h index b9779ac5e5d7..0b6b62733303 100644 --- a/arch/um/include/os.h +++ b/arch/um/include/os.h | |||
@@ -285,7 +285,6 @@ extern void os_free_irq_later(struct irq_fd *active_fds, | |||
285 | extern int os_get_pollfd(int i); | 285 | extern int os_get_pollfd(int i); |
286 | extern void os_set_pollfd(int i, int fd); | 286 | extern void os_set_pollfd(int i, int fd); |
287 | extern void os_set_ioignore(void); | 287 | extern void os_set_ioignore(void); |
288 | extern void init_irq_signals(int on_sigstack); | ||
289 | 288 | ||
290 | /* sigio.c */ | 289 | /* sigio.c */ |
291 | extern int add_sigio_fd(int fd); | 290 | extern int add_sigio_fd(int fd); |
diff --git a/arch/um/os-Linux/irq.c b/arch/um/os-Linux/irq.c index 430866ca1ce4..0348b975e81c 100644 --- a/arch/um/os-Linux/irq.c +++ b/arch/um/os-Linux/irq.c | |||
@@ -136,14 +136,3 @@ void os_set_ioignore(void) | |||
136 | { | 136 | { |
137 | signal(SIGIO, SIG_IGN); | 137 | signal(SIGIO, SIG_IGN); |
138 | } | 138 | } |
139 | |||
140 | void init_irq_signals(int on_sigstack) | ||
141 | { | ||
142 | int flags; | ||
143 | |||
144 | flags = on_sigstack ? SA_ONSTACK : 0; | ||
145 | |||
146 | set_handler(SIGIO, (__sighandler_t) sig_handler, flags | SA_RESTART, | ||
147 | SIGUSR1, SIGIO, SIGWINCH, SIGVTALRM, -1); | ||
148 | signal(SIGWINCH, SIG_IGN); | ||
149 | } | ||
diff --git a/arch/um/os-Linux/process.c b/arch/um/os-Linux/process.c index bda5c3150d6c..abf6beae3df1 100644 --- a/arch/um/os-Linux/process.c +++ b/arch/um/os-Linux/process.c | |||
@@ -249,7 +249,10 @@ void init_new_thread_signals(void) | |||
249 | SIGUSR1, SIGIO, SIGWINCH, SIGVTALRM, -1); | 249 | SIGUSR1, SIGIO, SIGWINCH, SIGVTALRM, -1); |
250 | signal(SIGHUP, SIG_IGN); | 250 | signal(SIGHUP, SIG_IGN); |
251 | 251 | ||
252 | init_irq_signals(1); | 252 | set_handler(SIGIO, (__sighandler_t) sig_handler, |
253 | SA_ONSTACK | SA_RESTART, SIGUSR1, SIGIO, SIGWINCH, SIGALRM, | ||
254 | SIGVTALRM, -1); | ||
255 | signal(SIGWINCH, SIG_IGN); | ||
253 | } | 256 | } |
254 | 257 | ||
255 | int run_kernel_thread(int (*fn)(void *), void *arg, jmp_buf **jmp_ptr) | 258 | int run_kernel_thread(int (*fn)(void *), void *arg, jmp_buf **jmp_ptr) |