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 */