diff options
-rw-r--r-- | lib/ChangeLog | 6 | ||||
-rw-r--r-- | lib/vty.c | 12 |
2 files changed, 12 insertions, 6 deletions
diff --git a/lib/ChangeLog b/lib/ChangeLog index 8a9fb247..28c0c005 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 @@ -1902,12 +1902,6 @@ vty_serv_un (const char *path) 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 @@ vtysh_accept (struct thread *thread) 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 */ |