diff options
Diffstat (limited to 'gdb/ser-unix.c')
-rw-r--r-- | gdb/ser-unix.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/gdb/ser-unix.c b/gdb/ser-unix.c index d2221f8..237384b 100644 --- a/gdb/ser-unix.c +++ b/gdb/ser-unix.c @@ -353,7 +353,7 @@ hardwire_raw(scb) state.termios.c_oflag = 0; state.termios.c_lflag = 0; state.termios.c_cflag &= ~(CSIZE|PARENB); - state.termios.c_cflag |= CS8; + state.termios.c_cflag |= CLOCAL | CS8; state.termios.c_cc[VMIN] = 0; state.termios.c_cc[VTIME] = 0; #endif @@ -363,7 +363,7 @@ hardwire_raw(scb) state.termio.c_oflag = 0; state.termio.c_lflag = 0; state.termio.c_cflag &= ~(CSIZE|PARENB); - state.termio.c_cflag |= CS8; + state.termio.c_cflag |= CLOCAL | CS8; state.termio.c_cc[VMIN] = 0; state.termio.c_cc[VTIME] = 0; #endif @@ -534,6 +534,8 @@ hardwire_readchar(scb, timeout) else return SERIAL_TIMEOUT; } + else if (errno == EINTR) + continue; else return SERIAL_ERROR; /* Got an error from read */ } |