nicer fix from millert@

This commit is contained in:
Damien Miller 2005-05-24 16:39:03 +10:00
parent df548bc310
commit 308c8b147b
1 changed files with 5 additions and 4 deletions

View File

@ -137,10 +137,11 @@ restart:
(void)write(output, "\n", 1);
/* Restore old terminal settings and signals. */
if (memcmp(&term, &oterm, sizeof(term)) != 0)
for (;tcsetattr(input, _T_FLUSH, &oterm) == -1 &&
errno == EINTR;)
;
if (memcmp(&term, &oterm, sizeof(term)) != 0) {
while (tcsetattr(input, TCSANOW|TCSASOFT, &oterm) == -1 &&
errno == EINTR)
continue;
}
(void)sigaction(SIGALRM, &savealrm, NULL);
(void)sigaction(SIGHUP, &savehup, NULL);
(void)sigaction(SIGINT, &saveint, NULL);