aboutsummaryrefslogtreecommitdiffstats
path: root/arch/um/os-Linux
diff options
context:
space:
mode:
authorJeff Dike <jdike@addtoit.com>2006-07-10 07:45:11 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2006-07-10 16:24:24 -0400
commit8e64d96aeb495709c13307e2d79f3ee37e96aa4e (patch)
tree41532136fdd081d561343be876d3068464821910 /arch/um/os-Linux
parentbfaafd7184f044c63cd937cb0ffb4334b4ec7635 (diff)
[PATCH] uml: remove os_isatty
os_isatty can be made to disappear by moving maybe_sigio_broken from kernel to user code. This also lets write_sigio_workaround become static. Signed-off-by: Jeff Dike <jdike@addtoit.com> Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/um/os-Linux')
-rw-r--r--arch/um/os-Linux/irq.c5
-rw-r--r--arch/um/os-Linux/sigio.c14
2 files changed, 13 insertions, 6 deletions
diff --git a/arch/um/os-Linux/irq.c b/arch/um/os-Linux/irq.c
index 64c114b02701..7555bf9c33d9 100644
--- a/arch/um/os-Linux/irq.c
+++ b/arch/um/os-Linux/irq.c
@@ -52,11 +52,6 @@ int os_waiting_for_events(struct irq_fd *active_fds)
52 return n; 52 return n;
53} 53}
54 54
55int os_isatty(int fd)
56{
57 return isatty(fd);
58}
59
60int os_create_pollfd(int fd, int events, void *tmp_pfd, int size_tmpfds) 55int os_create_pollfd(int fd, int events, void *tmp_pfd, int size_tmpfds)
61{ 56{
62 if (pollfds_num == pollfds_size) { 57 if (pollfds_num == pollfds_size) {
diff --git a/arch/um/os-Linux/sigio.c b/arch/um/os-Linux/sigio.c
index 00e9388e947a..0d2422a7d72c 100644
--- a/arch/um/os-Linux/sigio.c
+++ b/arch/um/os-Linux/sigio.c
@@ -233,7 +233,7 @@ static struct pollfd *setup_initial_poll(int fd)
233 return p; 233 return p;
234} 234}
235 235
236void write_sigio_workaround(void) 236static void write_sigio_workaround(void)
237{ 237{
238 unsigned long stack; 238 unsigned long stack;
239 struct pollfd *p; 239 struct pollfd *p;
@@ -314,6 +314,18 @@ out_close1:
314 close(l_write_sigio_fds[1]); 314 close(l_write_sigio_fds[1]);
315} 315}
316 316
317void maybe_sigio_broken(int fd, int read)
318{
319 if(!isatty(fd))
320 return;
321
322 if((read || pty_output_sigio) && (!read || pty_close_sigio))
323 return;
324
325 write_sigio_workaround();
326 add_sigio_fd(fd, read);
327}
328
317void sigio_cleanup(void) 329void sigio_cleanup(void)
318{ 330{
319 if(write_sigio_pid != -1){ 331 if(write_sigio_pid != -1){