Allow user to bypass sleep of 5 seconds.
authorJuergen Weigert <jw@suse.de>
Wed, 3 Jun 2009 19:52:12 +0000 (3 12:52 -0700)
committerMicah Cowan <Micah Cowan micah@cowan.name>
Wed, 3 Jun 2009 19:52:12 +0000 (3 12:52 -0700)
When used as a minicom replacement, the hard coded sleep(5)
is really annoying, when trying to find the correct line and parameters.

This patch makes this fatal error message behave more like an ordinary message.
We now honor msgwait variable and honors user input.

src/screen.c

index 5064652..ea8f83f 100644 (file)
@@ -1414,8 +1414,13 @@ char **av;
       debug("We open one default window, as screenrc did not specify one.\n");
       if (MakeWindow(&nwin) == -1)
        {
-         Msg(0, "Sorry, could not find a PTY.");
-         sleep(5);
+         fd_set rfd;
+         struct timeval tv = { MsgWait/1000, 1000*(MsgWait%1000) };
+         FD_SET(0, &rfd);
+
+         Msg(0, "Sorry, could not find a PTY or TTY.");
+         // allow user to exit early by pressing any key.
+         select(1, &rfd, NULL, NULL, &tv);
          Finit(0);
          /* NOTREACHED */
        }