diff options
author | Jeff Dike <jdike@addtoit.com> | 2008-02-05 07:31:16 +0100 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2008-02-05 18:44:30 +0100 |
commit | 3a24ebf0cb2ca44fdcdb5cae9ed2e778e5170f97 (patch) | |
tree | fe67635a8efdd58fade83eb573a0ed88c9c816b1 /arch/um | |
parent | uml: signal handling tidying (diff) | |
download | linux-3a24ebf0cb2ca44fdcdb5cae9ed2e778e5170f97.tar.xz linux-3a24ebf0cb2ca44fdcdb5cae9ed2e778e5170f97.zip |
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/um')
-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, extern int os_get_pollfd(int i); extern void os_set_pollfd(int i, int fd); extern void os_set_ioignore(void); -extern void init_irq_signals(int on_sigstack); /* sigio.c */ 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) { signal(SIGIO, SIG_IGN); } - -void init_irq_signals(int on_sigstack) -{ - int flags; - - flags = on_sigstack ? SA_ONSTACK : 0; - - set_handler(SIGIO, (__sighandler_t) sig_handler, flags | SA_RESTART, - SIGUSR1, SIGIO, SIGWINCH, SIGVTALRM, -1); - signal(SIGWINCH, SIG_IGN); -} 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) SIGUSR1, SIGIO, SIGWINCH, SIGVTALRM, -1); signal(SIGHUP, SIG_IGN); - init_irq_signals(1); + set_handler(SIGIO, (__sighandler_t) sig_handler, + SA_ONSTACK | SA_RESTART, SIGUSR1, SIGIO, SIGWINCH, SIGALRM, + SIGVTALRM, -1); + signal(SIGWINCH, SIG_IGN); } int run_kernel_thread(int (*fn)(void *), void *arg, jmp_buf **jmp_ptr) |