diff options
| author | David Lamparter <equinox@opensourcerouting.org> | 2016-12-16 08:12:54 +0100 |
|---|---|---|
| committer | David Lamparter <equinox@opensourcerouting.org> | 2016-12-16 20:42:01 +0100 |
| commit | 0e64d123fd50cb8c45ad32a209f10173bdb65c4d (patch) | |
| tree | 3308779eccc0d485d6b16a47059f6d001c86b29b | |
| parent | afc3a6ceb640abda6a549fa3e789252ae78e930c (diff) | |
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 <equinox@opensourcerouting.org>
| -rw-r--r-- | bgpd/bgpd.c | 2 | ||||
| -rw-r--r-- | lib/qobj.c | 3 |
2 files changed, 4 insertions, 1 deletions
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) |
