From: Richard M. Stallman Date: Mon, 23 Jun 1997 02:39:44 +0000 (+0000) Subject: (read_avail_input): Check for failure with EIO. X-Git-Tag: emacs-20.1~1541 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=498545661afb521e84a57bcf7066186c357803c5;p=emacs.git (read_avail_input): Check for failure with EIO. --- diff --git a/src/keyboard.c b/src/keyboard.c index 50f20d639fd..0303ab4fa65 100644 --- a/src/keyboard.c +++ b/src/keyboard.c @@ -4924,6 +4924,13 @@ read_avail_input (expected) #else nread = read (input_fd, cbuf, n_to_read); #endif + /* POSIX infers that processes which are not in the session leader's + process group won't get SIGHUP's at logout time. BSDI adheres to + this part standard and returns -1 from read(0) with errno==EIO + when the control tty is taken away. + Jeffrey Honig says this is generally safe. */ + if (nread == -1 && errno == EIO) + kill (0, SIGHUP); #if defined (AIX) && (! defined (aix386) && defined (_BSD)) /* The kernel sometimes fails to deliver SIGHUP for ptys. This looks incorrect, but it isn't, because _BSD causes