aboutsummaryrefslogtreecommitdiffstats
path: root/arch/um
diff options
context:
space:
mode:
authorJeff Dike <jdike@addtoit.com>2008-02-04 22:31:16 -0800
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2008-02-05 09:44:30 -0800
commit3a24ebf0cb2ca44fdcdb5cae9ed2e778e5170f97 (patch)
treefe67635a8efdd58fade83eb573a0ed88c9c816b1 /arch/um
parentcfef8f34e7cf57f3d278ceda79c85112dec13dc6 (diff)
downloadkernel_samsung_aries-3a24ebf0cb2ca44fdcdb5cae9ed2e778e5170f97.zip
kernel_samsung_aries-3a24ebf0cb2ca44fdcdb5cae9ed2e778e5170f97.tar.gz
kernel_samsung_aries-3a24ebf0cb2ca44fdcdb5cae9ed2e778e5170f97.tar.bz2
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.h1
-rw-r--r--arch/um/os-Linux/irq.c11
-rw-r--r--arch/um/os-Linux/process.c5
3 files changed, 4 insertions, 13 deletions
diff --git a/arch/um/include/os.h b/arch/um/include/os.h
index b9779ac..0b6b627 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 430866c..0348b97 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 bda5c31..abf6bea 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)