Messages in this thread Patch in this message | | | Date | Wed, 2 Jan 2008 15:08:54 -0500 | From | Jeff Dike <> | Subject | [PATCH 6/7] 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> --- arch/um/include/os.h | 1 - arch/um/os-Linux/irq.c | 11 ----------- arch/um/os-Linux/process.c | 5 ++++- 3 files changed, 4 insertions(+), 13 deletions(-)
Index: linux-2.6-git/arch/um/include/os.h =================================================================== --- linux-2.6-git.orig/arch/um/include/os.h 2007-12-13 12:43:29.000000000 -0500 +++ linux-2.6-git/arch/um/include/os.h 2007-12-13 17:48:06.000000000 -0500 @@ -285,7 +285,6 @@ extern void os_free_irq_later(struct irq 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); Index: linux-2.6-git/arch/um/os-Linux/irq.c =================================================================== --- linux-2.6-git.orig/arch/um/os-Linux/irq.c 2007-12-13 12:43:21.000000000 -0500 +++ linux-2.6-git/arch/um/os-Linux/irq.c 2007-12-13 17:48:06.000000000 -0500 @@ -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); -} Index: linux-2.6-git/arch/um/os-Linux/process.c =================================================================== --- linux-2.6-git.orig/arch/um/os-Linux/process.c 2007-12-13 12:42:57.000000000 -0500 +++ linux-2.6-git/arch/um/os-Linux/process.c 2007-12-13 17:48:06.000000000 -0500 @@ -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)
| |