aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/um/include/os.h1
-rw-r--r--arch/um/kernel/sigio_kern.c14
-rw-r--r--arch/um/os-Linux/sigio.c10
3 files changed, 6 insertions, 19 deletions
diff --git a/arch/um/include/os.h b/arch/um/include/os.h
index 548f6ddd8597..b6c52496e15a 100644
--- a/arch/um/include/os.h
+++ b/arch/um/include/os.h
@@ -329,7 +329,6 @@ extern void os_set_ioignore(void);
329extern void init_irq_signals(int on_sigstack); 329extern void init_irq_signals(int on_sigstack);
330 330
331/* sigio.c */ 331/* sigio.c */
332extern int add_sigio_fd(int fd, int read);
333extern int ignore_sigio_fd(int fd); 332extern int ignore_sigio_fd(int fd);
334extern void maybe_sigio_broken(int fd, int read); 333extern void maybe_sigio_broken(int fd, int read);
335 334
diff --git a/arch/um/kernel/sigio_kern.c b/arch/um/kernel/sigio_kern.c
index 51b677083948..5102ba5d5bd0 100644
--- a/arch/um/kernel/sigio_kern.c
+++ b/arch/um/kernel/sigio_kern.c
@@ -53,17 +53,3 @@ void sigio_unlock(void)
53{ 53{
54 spin_unlock(&sigio_spinlock); 54 spin_unlock(&sigio_spinlock);
55} 55}
56
57extern void sigio_cleanup(void);
58__uml_exitcall(sigio_cleanup);
59
60/*
61 * Overrides for Emacs so that we follow Linus's tabbing style.
62 * Emacs will notice this stuff at the end of the file and automatically
63 * adjust the settings for this buffer only. This must remain at the end
64 * of the file.
65 * ---------------------------------------------------------------------------
66 * Local variables:
67 * c-file-style: "linux"
68 * End:
69 */
diff --git a/arch/um/os-Linux/sigio.c b/arch/um/os-Linux/sigio.c
index d22623e8fced..0ecac563c7b3 100644
--- a/arch/um/os-Linux/sigio.c
+++ b/arch/um/os-Linux/sigio.c
@@ -43,13 +43,13 @@ struct pollfds {
43/* Protected by sigio_lock(). Used by the sigio thread, but the UML thread 43/* Protected by sigio_lock(). Used by the sigio thread, but the UML thread
44 * synchronizes with it. 44 * synchronizes with it.
45 */ 45 */
46struct pollfds current_poll = { 46static struct pollfds current_poll = {
47 .poll = NULL, 47 .poll = NULL,
48 .size = 0, 48 .size = 0,
49 .used = 0 49 .used = 0
50}; 50};
51 51
52struct pollfds next_poll = { 52static struct pollfds next_poll = {
53 .poll = NULL, 53 .poll = NULL,
54 .size = 0, 54 .size = 0,
55 .used = 0 55 .used = 0
@@ -156,7 +156,7 @@ static void update_thread(void)
156 set_signals(flags); 156 set_signals(flags);
157} 157}
158 158
159int add_sigio_fd(int fd, int read) 159static int add_sigio_fd(int fd, int read)
160{ 160{
161 int err = 0, i, n, events; 161 int err = 0, i, n, events;
162 162
@@ -333,10 +333,12 @@ void maybe_sigio_broken(int fd, int read)
333 add_sigio_fd(fd, read); 333 add_sigio_fd(fd, read);
334} 334}
335 335
336void sigio_cleanup(void) 336static void sigio_cleanup(void)
337{ 337{
338 if(write_sigio_pid != -1){ 338 if(write_sigio_pid != -1){
339 os_kill_process(write_sigio_pid, 1); 339 os_kill_process(write_sigio_pid, 1);
340 write_sigio_pid = -1; 340 write_sigio_pid = -1;
341 } 341 }
342} 342}
343
344__uml_exitcall(sigio_cleanup);