From 38935dc0f5ead0bb1682bc1e3204ce1789db2061 Mon Sep 17 00:00:00 2001 From: Martin Lund Date: Sat, 27 Sep 2014 19:10:32 +0200 Subject: [PATCH] Made gotty a bit more robust Now gotty does not exit on errors but simply tries to reconnect. --- src/tty.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/tty.c b/src/tty.c index ad4ea9d..371156a 100644 --- a/src/tty.c +++ b/src/tty.c @@ -110,10 +110,7 @@ int connect_tty(void) /* Save current port settings */ if (tcgetattr(fd, &old_tio) < 0) - { - printf("Error: Saving current port settings failed\n"); - exit(EXIT_FAILURE); - } + return EXIT_FAILURE; /* Make sure we restore settings on exit */ if (first) @@ -158,7 +155,8 @@ int connect_tty(void) { if (!option.no_autoconnect) gotty_printf("Disconnected"); - return(EXIT_FAILURE); + close(fd); + return EXIT_FAILURE; } } if (FD_ISSET(console, &rdfs)) @@ -170,12 +168,15 @@ int connect_tty(void) c1 = c0; c0 = c; if ((c0 == CTRLQ) && (c1 == CTRLG)) - exit(EXIT_SUCCESS); + { + close(fd); + exit(EXIT_SUCCESS); + } /* Forward input to tty device */ status = write(fd, &c, 1); } } - return(EXIT_SUCCESS); + return EXIT_SUCCESS; }