]> andersk Git - openssh.git/commitdiff
- markus@cvs.openbsd.org 2001/05/16 21:53:53
authormouring <mouring>
Thu, 17 May 2001 03:19:40 +0000 (03:19 +0000)
committermouring <mouring>
Thu, 17 May 2001 03:19:40 +0000 (03:19 +0000)
     [clientloop.c]
     check for open sessions before we call select(); fixes the x11 client
     bug reported by bowman@math.ualberta.ca

ChangeLog
clientloop.c

index 4d90cd3bef68b4b4f6876b01ae66bf8a105f0748..063c69d54b212a5452987d2e9a42c3d9f87d8f2a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -9,6 +9,10 @@
    - markus@cvs.openbsd.org 2001/05/16 20:51:57
      [authfile.c]
      return comments for private pem files, too; report from nolan@naic.edu
+   - markus@cvs.openbsd.org 2001/05/16 21:53:53
+     [clientloop.c]
+     check for open sessions before we call select(); fixes the x11 client
+     bug reported by bowman@math.ualberta.ca
 
 20010512
  - OpenBSD CVS Sync
index ba957fe478c22f23ca3eea9c83d871dd502ab76e..cea6e77dcee294c331ae29ed75bff8e1a3dac4a9 100644 (file)
@@ -59,7 +59,7 @@
  */
 
 #include "includes.h"
-RCSID("$OpenBSD: clientloop.c,v 1.70 2001/05/11 14:59:55 markus Exp $");
+RCSID("$OpenBSD: clientloop.c,v 1.71 2001/05/16 21:53:53 markus Exp $");
 
 #include "ssh.h"
 #include "ssh1.h"
@@ -346,7 +346,13 @@ client_wait_until_can_do_something(fd_set **readsetp, fd_set **writesetp,
                if (buffer_len(&stderr_buffer) > 0)
                        FD_SET(fileno(stderr), *writesetp);
        } else {
-               FD_SET(connection_in, *readsetp);
+               /* channel_prepare_select could have closed the last channel */
+               if (session_closed && !channel_still_open()) {
+                       if (!packet_have_data_to_write())
+                               return;
+               } else {
+                       FD_SET(connection_in, *readsetp);
+               }
        }
 
        /* Select server connection if have data to write to the server. */
This page took 0.051936 seconds and 5 git commands to generate.