2004-10-29 Paul Jakma <paul@dishone.st>

	* vty.c: Move setting of sock to O_NONBLOCK from vty_serv_un
	  to vtysh_accept, where sock is the actual fd we wanted to set to
          O_NONBLOCK, ie the /connected/ vtysh unix socket.
diff --git a/lib/ChangeLog b/lib/ChangeLog
index 8a9fb24..28c0c00 100644
--- a/lib/ChangeLog
+++ b/lib/ChangeLog
@@ -1,3 +1,9 @@
+2004-10-29 Paul Jakma <paul@dishone.st>
+
+	* vty.c: Move setting of sock to O_NONBLOCK from vty_serv_un
+	  to vtysh_accept, where sock is the actual fd we wanted to set to
+          O_NONBLOCK, ie the /connected/ vtysh unix socket.
+
 2004-10-23 Hasso Tepper <hasso at quagga.net>
 
 	* zclient.c: Unbreak reading interface update message. Might fix
diff --git a/lib/vty.c b/lib/vty.c
index d21f38c..7db1aa9 100644
--- a/lib/vty.c
+++ b/lib/vty.c
@@ -1902,12 +1902,6 @@
       return;
     }
 
-  /* set to non-blocking*/
-  if ( ((flags = fcntl (sock, F_GETFL)) == -1)
-      || (fcntl (sock, F_SETFL, flags|O_NONBLOCK) == -1) )
-    zlog_warn ("vty_serv_un: could not set vty socket to non-blocking,"
-               " %s", strerror (errno));
-
   umask (old_mask);
 
   zprivs_get_ids(&ids);
@@ -1952,6 +1946,12 @@
       return -1;
     }
 
+  /* set to non-blocking*/
+  if ( ((flags = fcntl (sock, F_GETFL)) == -1)
+      || (fcntl (sock, F_SETFL, flags|O_NONBLOCK) == -1) )
+    zlog_warn ("vty_serv_un: could not set vty socket to non-blocking,"
+               " %s", strerror (errno));
+  
 #ifdef VTYSH_DEBUG
   printf ("VTY shell accept\n");
 #endif /* VTYSH_DEBUG */