]> git.puffer.fish Git - mirror/frr.git/commitdiff
bgpd: shuffle qobj_init()
authorDavid Lamparter <equinox@opensourcerouting.org>
Fri, 16 Dec 2016 07:12:54 +0000 (08:12 +0100)
committerDavid Lamparter <equinox@opensourcerouting.org>
Fri, 16 Dec 2016 19:42:01 +0000 (20:42 +0100)
bgp_master_init is called first thing in main(), so we need to wedge a
qobj_init() call in there...  this needs some improvement...

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
bgpd/bgpd.c
lib/qobj.c

index 5ed630b49d9e791c360051f47d9ed2aa65251709..30f6e0d859a51aa4ea18414a8d07d4d534ece340 100644 (file)
@@ -7477,6 +7477,8 @@ bgp_config_write (struct vty *vty)
 void
 bgp_master_init (void)
 {
+  qobj_init ();
+
   memset (&bgp_master, 0, sizeof (struct bgp_master));
 
   bm = &bgp_master;
index aeae52e0297467dfd456e2561f091fdcddbe9ad3..8a386d24862e35a0cdf5e81c34f49d56a35aaaf0 100644 (file)
@@ -73,7 +73,8 @@ void *qobj_get_typed(uint64_t id, struct qobj_nodetype *type)
 
 void qobj_init (void)
 {
-  nodes = hash_create (qobj_key, qobj_cmp);
+  if (!nodes)
+    nodes = hash_create (qobj_key, qobj_cmp);
 }
 
 void qobj_finish (void)