- markus@cvs.openbsd.org 2001/04/15 17:16:00
     [clientloop.c]
     set stdin/out/err to nonblocking in SSH proto 1, too. suggested by ho@
     should fix some of the blocking problems for rsync over SSH-1
diff --git a/clientloop.c b/clientloop.c
index 24ea0de..95c00f3 100644
--- a/clientloop.c
+++ b/clientloop.c
@@ -59,7 +59,7 @@
  */
 
 #include "includes.h"
-RCSID("$OpenBSD: clientloop.c,v 1.62 2001/04/14 16:33:20 stevesk Exp $");
+RCSID("$OpenBSD: clientloop.c,v 1.63 2001/04/15 17:16:00 markus Exp $");
 
 #include "ssh.h"
 #include "ssh1.h"
@@ -80,6 +80,7 @@
 #include "authfd.h"
 #include "atomicio.h"
 #include "sshtty.h"
+#include "misc.h"
 
 /* import options */
 extern Options options;
@@ -782,6 +783,13 @@
 	max_fd = MAX(connection_in, connection_out);
 
 	if (!compat20) {
+		/* enable nonblocking unless tty */
+		if (!isatty(fileno(stdin)))
+			set_nonblock(fileno(stdin));
+		if (!isatty(fileno(stdout)))
+			set_nonblock(fileno(stdout));
+		if (!isatty(fileno(stderr)))
+			set_nonblock(fileno(stderr));
 		max_fd = MAX(max_fd, fileno(stdin));
 		max_fd = MAX(max_fd, fileno(stdout));
 		max_fd = MAX(max_fd, fileno(stderr));