]> git.puffer.fish Git - matthieu/frr.git/commitdiff
lib/vty: register vtysh socket in server socket vector (BZ#754)
authorChristian Franke <chris@opensourcerouting.org>
Wed, 27 Feb 2013 13:47:23 +0000 (13:47 +0000)
committerDavid Lamparter <equinox@opensourcerouting.org>
Tue, 9 Apr 2013 20:35:29 +0000 (22:35 +0200)
Register the vtysh socket in Vvty_serv_thread so it will be
correctly closed on vty_reset instead of being leaked.

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
lib/vty.c

index 70bf5645bbb2c54a8977fd55afcd408a26f15ed5..0d6345c83ab0c2fdcda253b603ede8654ca9294f 100644 (file)
--- a/lib/vty.c
+++ b/lib/vty.c
@@ -71,7 +71,7 @@ static char *vty_accesslist_name = NULL;
 static char *vty_ipv6_accesslist_name = NULL;
 
 /* VTY server thread. */
-vector Vvty_serv_thread;
+static vector Vvty_serv_thread;
 
 /* Current directory. */
 char *vty_cwd = NULL;
@@ -2509,7 +2509,8 @@ vty_event (enum event event, int sock, struct vty *vty)
       break;
 #ifdef VTYSH
     case VTYSH_SERV:
-      thread_add_read (master, vtysh_accept, vty, sock);
+      vty_serv_thread = thread_add_read (master, vtysh_accept, vty, sock);
+      vector_set_index (Vvty_serv_thread, sock, vty_serv_thread);
       break;
     case VTYSH_READ:
       vty->t_read = thread_add_read (master, vtysh_read, vty, sock);