]>
Commit | Line | Data |
---|---|---|
b52f6eb2 DW |
1 | diff -up netkit-telnet-0.17/telnet/sys_bsd.c.errnosysbsd netkit-telnet-0.17/telnet/sys_bsd.c |
2 | --- netkit-telnet-0.17/telnet/sys_bsd.c.errnosysbsd 2007-09-20 10:57:58.000000000 +0200 | |
3 | +++ netkit-telnet-0.17/telnet/sys_bsd.c 2007-09-20 11:10:08.000000000 +0200 | |
4 | @@ -375,6 +375,7 @@ TerminalNewMode(int f) | |
5 | int onoff; | |
6 | int old; | |
7 | cc_t esc; | |
8 | + int err; | |
9 | ||
10 | globalmode = f&~MODE_FORCE; | |
11 | if (prevmode == f) | |
12 | @@ -407,6 +408,12 @@ TerminalNewMode(int f) | |
13 | tcsetattr(tin, TCSADRAIN, &tmp_tc); | |
14 | #endif /* USE_TERMIO */ | |
15 | old = ttyflush(SYNCHing|flushout); | |
16 | + if (old < 0) { | |
17 | + err = errno; | |
18 | + if (! ((err == EINTR) || (err == EAGAIN) || (err == ENOSPC))) { | |
19 | + break; | |
20 | + } | |
21 | + } | |
22 | } while (old < 0 || old > 1); | |
23 | } | |
24 |