From 0e64d123fd50cb8c45ad32a209f10173bdb65c4d Mon Sep 17 00:00:00 2001 From: David Lamparter Date: Fri, 16 Dec 2016 08:12:54 +0100 Subject: [PATCH] bgpd: shuffle qobj_init() 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 --- bgpd/bgpd.c | 2 ++ lib/qobj.c | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/bgpd/bgpd.c b/bgpd/bgpd.c index 5ed630b49d..30f6e0d859 100644 --- a/bgpd/bgpd.c +++ b/bgpd/bgpd.c @@ -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; diff --git a/lib/qobj.c b/lib/qobj.c index aeae52e029..8a386d2486 100644 --- a/lib/qobj.c +++ b/lib/qobj.c @@ -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) -- 2.39.5