path: root/serverloop.c
diff options
authorDamien Miller <>1999-11-17 17:29:08 +1100
committerDamien Miller <>1999-11-17 17:29:08 +1100
commit10f6f6ba9ee14d306f8780edee8a10640c1643e0 (patch)
tree859600c705d582b147162d73746cb2f39b59ed58 /serverloop.c
parentd743bba481056ba3d1c229c18fd42c6bdc3f8d74 (diff)
- Merged OpenBSD CVS changes
- [ChangeLog.Ylonen] noone needs this anymore - [authfd.c] close-on-exec for auth-socket, ok deraadt - [hostfile.c] in known_hosts key lookup the entry for the bits does not need to match, all the information is contained in n and e. This solves the problem with buggy servers announcing the wrong modulus length. markus and me. - [serverloop.c] bugfix: check for space if child has terminated, from: - [ssh-add.1 ssh-add.c ssh-keygen.1 ssh-keygen.c sshconnect.c] [fingerprint.c fingerprint.h] rsa key fingerprints, idea from Bjoern Groenvall <> - [ssh-agent.1] typo - [ssh.1] add OpenSSH information to AUTHOR section. okay markus@ - [sshd.c] force logging to stderr while loading private key file (lost while converting to new log-levels)
Diffstat (limited to 'serverloop.c')
1 files changed, 3 insertions, 2 deletions
diff --git a/serverloop.c b/serverloop.c
index 552c69c2..2aec2cf1 100644
--- a/serverloop.c
+++ b/serverloop.c
@@ -269,8 +269,9 @@ retry_select:
if (channel_max_fd() > max_fd)
max_fd = channel_max_fd();
- /* If child has terminated, read as much as is available and then exit. */
- if (child_terminated)
+ /* If child has terminated and there is enough buffer space to read from
+ it, then read as much as is available and exit. */
+ if (child_terminated && packet_not_very_much_data_to_write())
if (max_time_milliseconds == 0)
max_time_milliseconds = 100;