diff options
author | Felix Fietkau <nbd@openwrt.org> | 2007-05-09 19:15:37 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2007-05-09 19:15:37 +0000 |
commit | 2b4cd792c1666635ed66b11cd2ffc578bc1d46e4 (patch) | |
tree | 74cf6d6893cabf39a24d55a3ecc364c2adf1bc06 /package/dropbear/patches/160-tty_close.patch | |
parent | d54c1ecd5f03636da8218838df2c4ddb088679e9 (diff) | |
download | upstream-2b4cd792c1666635ed66b11cd2ffc578bc1d46e4.tar.gz upstream-2b4cd792c1666635ed66b11cd2ffc578bc1d46e4.tar.bz2 upstream-2b4cd792c1666635ed66b11cd2ffc578bc1d46e4.zip |
fix tty close patch (#1651)
SVN-Revision: 7148
Diffstat (limited to 'package/dropbear/patches/160-tty_close.patch')
-rw-r--r-- | package/dropbear/patches/160-tty_close.patch | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/package/dropbear/patches/160-tty_close.patch b/package/dropbear/patches/160-tty_close.patch index 01b6251b86..c85429ce89 100644 --- a/package/dropbear/patches/160-tty_close.patch +++ b/package/dropbear/patches/160-tty_close.patch @@ -1,7 +1,7 @@ diff -ur db.old/common-channel.c db.dev/common-channel.c --- db.old/common-channel.c 2007-02-22 17:17:15.000000000 +0100 +++ db.dev/common-channel.c 2007-05-06 19:50:19.154943528 +0200 -@@ -309,15 +309,6 @@ +@@ -309,15 +309,15 @@ && (ERRFD_IS_WRITE(channel) || channel->errfd == FD_CLOSED)) { send_msg_channel_eof(channel); } @@ -14,6 +14,15 @@ diff -ur db.old/common-channel.c db.dev/common-channel.c - TRACE(("sending close, readfd is closed")) - send_msg_channel_close(channel); - } ++ ++ /* And if we can't receive any more data from them either, close up (server only) */ ++ if (!channel->sent_close ++ && channel->readfd == FD_CLOSED ++ && !ERRFD_IS_WRITE(channel) ++ && !write_pending(channel)) { ++ TRACE(("sending close, readfd is closed")) ++ send_msg_channel_close(channel); ++ } } /* Check whether a deferred (EINPROGRESS) connect() was successful, and |