]> git.proxmox.com Git - mirror_frr.git/commitdiff
lib: fix vty.c and smux.c static variable clash
authorDonald Sharp <sharpd@cumulusnetworks.com>
Tue, 13 Oct 2015 18:37:15 +0000 (11:37 -0700)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Tue, 13 Oct 2015 18:37:15 +0000 (11:37 -0700)
Both vty.c and smux.c declare:
static struct thread_master *master

This is not a good thing because they are both linked into
the same library.  If you want to pass different struct thread_master
pointers into smux.c and vty.c you will probably not get the result
you were looking for

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
lib/smux.c
lib/vty.c

index 70be492892d19f0f1a24e786353856ad1f7f64df..5012e8d95eb4a48b24a740a92a1602cd507af31c 100644 (file)
@@ -113,7 +113,7 @@ static struct cmd_node smux_node =
 };
 
 /* thread master */
-static struct thread_master *master;
+static struct thread_master *smux_master;
 
 static int
 oid_compare_part (oid *o1, int o1_len, oid *o2, int o2_len)
@@ -1239,13 +1239,13 @@ smux_event (enum smux_event event, int sock)
   switch (event)
     {
     case SMUX_SCHEDULE:
-      smux_connect_thread = thread_add_event (master, smux_connect, NULL, 0);
+      smux_connect_thread = thread_add_event (smux_master, smux_connect, NULL, 0);
       break;
     case SMUX_CONNECT:
-      smux_connect_thread = thread_add_timer (master, smux_connect, NULL, 10);
+      smux_connect_thread = thread_add_timer (smux_master, smux_connect, NULL, 10);
       break;
     case SMUX_READ:
-      smux_read_thread = thread_add_read (master, smux_read, NULL, sock);
+      smux_read_thread = thread_add_read (smux_master, smux_read, NULL, sock);
       break;
     default:
       break;
@@ -1473,8 +1473,9 @@ smux_tree_cmp(struct subtree *tree1, struct subtree *tree2)
 void
 smux_init (struct thread_master *tm)
 {
+  assert (tm);
   /* copy callers thread master */
-  master = tm;
+  smux_master = tm;
   
   /* Make MIB tree. */
   treelist = list_new();
index d7607881b21f84e7b1261b07b6e468b3639847ff..73d24965ea94eea6dbcda228c142a28fce425ad8 100644 (file)
--- a/lib/vty.c
+++ b/lib/vty.c
@@ -2527,7 +2527,7 @@ vty_config_unlock (struct vty *vty)
 }
 
 /* Master of the threads. */
-static struct thread_master *master;
+static struct thread_master *vty_master;
 
 static void
 vty_event (enum event event, int sock, struct vty *vty)
@@ -2537,23 +2537,23 @@ vty_event (enum event event, int sock, struct vty *vty)
   switch (event)
     {
     case VTY_SERV:
-      vty_serv_thread = thread_add_read (master, vty_accept, vty, sock);
+      vty_serv_thread = thread_add_read (vty_master, vty_accept, vty, sock);
       vector_set_index (Vvty_serv_thread, sock, vty_serv_thread);
       break;
 #ifdef VTYSH
     case VTYSH_SERV:
-      vty_serv_thread = thread_add_read (master, vtysh_accept, vty, sock);
+      vty_serv_thread = thread_add_read (vty_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);
+      vty->t_read = thread_add_read (vty_master, vtysh_read, vty, sock);
       break;
     case VTYSH_WRITE:
-      vty->t_write = thread_add_write (master, vtysh_write, vty, sock);
+      vty->t_write = thread_add_write (vty_master, vtysh_write, vty, sock);
       break;
 #endif /* VTYSH */
     case VTY_READ:
-      vty->t_read = thread_add_read (master, vty_read, vty, sock);
+      vty->t_read = thread_add_read (vty_master, vty_read, vty, sock);
 
       /* Time out treatment. */
       if (vty->v_timeout)
@@ -2561,12 +2561,12 @@ vty_event (enum event event, int sock, struct vty *vty)
          if (vty->t_timeout)
            thread_cancel (vty->t_timeout);
          vty->t_timeout = 
-           thread_add_timer (master, vty_timeout, vty, vty->v_timeout);
+           thread_add_timer (vty_master, vty_timeout, vty, vty->v_timeout);
        }
       break;
     case VTY_WRITE:
       if (! vty->t_write)
-       vty->t_write = thread_add_write (master, vty_flush, vty, sock);
+       vty->t_write = thread_add_write (vty_master, vty_flush, vty, sock);
       break;
     case VTY_TIMEOUT_RESET:
       if (vty->t_timeout)
@@ -2577,7 +2577,7 @@ vty_event (enum event event, int sock, struct vty *vty)
       if (vty->v_timeout)
        {
          vty->t_timeout = 
-           thread_add_timer (master, vty_timeout, vty, vty->v_timeout);
+           thread_add_timer (vty_master, vty_timeout, vty, vty->v_timeout);
        }
       break;
     }
@@ -3002,7 +3002,7 @@ vty_init (struct thread_master *master_thread)
 
   vtyvec = vector_init (VECTOR_MIN_SIZE);
 
-  master = master_thread;
+  vty_master = master_thread;
 
   /* Initilize server thread vector. */
   Vvty_serv_thread = vector_init (VECTOR_MIN_SIZE);