diff options
author | paul <paul> | 2004-10-31 02:13:09 +0000 |
---|---|---|
committer | paul <paul> | 2004-10-31 02:13:09 +0000 |
commit | 75e15fe4430bf6f9c5bd65b851d771e88bbd2096 (patch) | |
tree | 85c8d0038e8fc51702b9e78a6c51b18303022c35 | |
parent | dccfb1902c5ed8126a304b9ca12830a378933d1f (diff) |
2004-10-31 Paul Jakma <paul@dishone.st>
* vty.c: As per Andrew's suggestions..
(vty_serv_un) remove flags.
(vtysh_accept) close socket if we cant set NONBLOCK. Add flags.
-rw-r--r-- | lib/ChangeLog | 6 | ||||
-rw-r--r-- | lib/vty.c | 11 |
2 files changed, 14 insertions, 3 deletions
diff --git a/lib/ChangeLog b/lib/ChangeLog index 28c0c005..292f8500 100644 --- a/lib/ChangeLog +++ b/lib/ChangeLog @@ -1,3 +1,9 @@ +2004-10-31 Paul Jakma <paul@dishone.st> + + * vty.c: As per Andrew's suggestions.. + (vty_serv_un) remove flags. + (vtysh_accept) close socket if we cant set NONBLOCK. Add flags. + 2004-10-29 Paul Jakma <paul@dishone.st> * vty.c: Move setting of sock to O_NONBLOCK from vty_serv_un @@ -1857,7 +1857,7 @@ void vty_serv_un (const char *path) { int ret; - int sock, len, flags; + int sock, len; struct sockaddr_un serv; mode_t old_mask; struct zprivs_ids_t ids; @@ -1927,6 +1927,7 @@ vtysh_accept (struct thread *thread) int accept_sock; int sock; int client_len; + int flags; struct sockaddr_un client; struct vty *vty; @@ -1949,8 +1950,12 @@ vtysh_accept (struct thread *thread) /* 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)); + { + zlog_warn ("vtysh_accept: could not set vty socket to non-blocking," + " %s, closing", strerror (errno)); + close (sock); + return -1; + } #ifdef VTYSH_DEBUG printf ("VTY shell accept\n"); |