aboutsummaryrefslogtreecommitdiffstats
path: root/arch/um
diff options
context:
space:
mode:
authorJeff Dike <jdike@addtoit.com>2008-02-05 01:31:16 -0500
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2008-02-05 12:44:30 -0500
commit3a24ebf0cb2ca44fdcdb5cae9ed2e778e5170f97 (patch)
treefe67635a8efdd58fade83eb573a0ed88c9c816b1 /arch/um
parentcfef8f34e7cf57f3d278ceda79c85112dec13dc6 (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/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 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,
285extern int os_get_pollfd(int i); 285extern int os_get_pollfd(int i);
286extern void os_set_pollfd(int i, int fd); 286extern void os_set_pollfd(int i, int fd);
287extern void os_set_ioignore(void); 287extern void os_set_ioignore(void);
288extern void init_irq_signals(int on_sigstack);
289 288
290/* sigio.c */ 289/* sigio.c */
291extern int add_sigio_fd(int fd); 290extern 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
140void 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
255int run_kernel_thread(int (*fn)(void *), void *arg, jmp_buf **jmp_ptr) 258int run_kernel_thread(int (*fn)(void *), void *arg, jmp_buf **jmp_ptr)