diff options
author | Darren Tucker <dtucker@zip.com.au> | 2009-08-28 11:02:37 +1000 |
---|---|---|
committer | Darren Tucker <dtucker@zip.com.au> | 2009-08-28 11:02:37 +1000 |
commit | 3980b636312516ee823e84e884dadbc86e6795d3 (patch) | |
tree | 9831ee718e444151d57aae8f045db8e4ff04ce76 /channels.c | |
parent | 7d4a2685f78440f09d25bf3fc7236a5f99af208a (diff) |
- (dtucker) [channels.c configure.ac] Bug #1528: skip the tcgetattr call on
the pty master on Solaris, since it never succeeds and can hang if large
amounts of data is sent to the slave (eg a copy-paste). Based on a patch
originally from Doke Scott, ok djm@
Diffstat (limited to 'channels.c')
-rw-r--r-- | channels.c | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -1653,6 +1653,7 @@ channel_handle_wfd(Channel *c, fd_set *readset, fd_set *writeset) } return -1; } +#ifndef BROKEN_TCGETATTR_ICANON if (compat20 && c->isatty && dlen >= 1 && buf[0] != '\r') { if (tcgetattr(c->wfd, &tio) == 0 && !(tio.c_lflag & ECHO) && (tio.c_lflag & ICANON)) { @@ -1666,6 +1667,7 @@ channel_handle_wfd(Channel *c, fd_set *readset, fd_set *writeset) packet_send(); } } +#endif buffer_consume(&c->output, len); if (compat20 && len > 0) { c->local_consumed += len; |