diff options
Diffstat (limited to 'gdb/inflow.c')
-rw-r--r-- | gdb/inflow.c | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/gdb/inflow.c b/gdb/inflow.c index adfec1b326b..83a0c9d8281 100644 --- a/gdb/inflow.c +++ b/gdb/inflow.c @@ -1,6 +1,6 @@ /* Low level interface to ptrace, for GDB when running under Unix. Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, - 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004 + 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This file is part of GDB. @@ -32,9 +32,7 @@ #include "gdb_string.h" #include <signal.h> #include <fcntl.h> -#ifdef HAVE_SYS_SELECT_H -#include <sys/select.h> -#endif +#include "gdb_select.h" #include "inflow.h" @@ -129,7 +127,6 @@ gdb_has_a_terminal (void) #endif gdb_has_a_terminal_flag = no; - stdin_serial = serial_fdopen (0); if (stdin_serial != NULL) { our_ttystate = serial_get_tty_state (stdin_serial); @@ -643,7 +640,7 @@ handle_sigio (int signo) FD_ZERO (&readfds); FD_SET (target_activity_fd, &readfds); - numfds = select (target_activity_fd + 1, &readfds, NULL, NULL, NULL); + numfds = gdb_select (target_activity_fd + 1, &readfds, NULL, NULL, NULL); if (numfds >= 0 && FD_ISSET (target_activity_fd, &readfds)) { #ifndef _WIN32 @@ -730,6 +727,18 @@ gdb_setpgid (void) return retval; } +/* Get all the current tty settings (including whether we have a + tty at all!). We can't do this in _initialize_inflow because + serial_fdopen() won't work until the serial_ops_list is + initialized, but we don't want to do it lazily either, so + that we can guarantee stdin_serial is opened if there is + a terminal. */ +void +initialize_stdin_serial (void) +{ + stdin_serial = serial_fdopen (0); +} + void _initialize_inflow (void) { |