From c8c8c717bb58d4df5647a263631101a06cf1c7cc Mon Sep 17 00:00:00 2001 From: Ben Pfaff Date: Thu, 12 Sep 2013 21:18:01 -0700 Subject: [PATCH] Delete meters in the right place. Signed-off-by: Jarno Rajahalme Signed-off-by: Ben Pfaff --- ofproto/ofproto.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/ofproto/ofproto.c b/ofproto/ofproto.c index cdc058afd..3d0d1b020 100644 --- a/ofproto/ofproto.c +++ b/ofproto/ofproto.c @@ -1135,11 +1135,6 @@ ofproto_destroy__(struct ofproto *ofproto) ovs_assert(list_is_empty(&ofproto->pending)); ovs_assert(!ofproto->n_pending); - if (ofproto->meters) { - meter_delete(ofproto, 1, ofproto->meter_features.max_meters); - free(ofproto->meters); - } - connmgr_destroy(ofproto->connmgr); hmap_remove(&all_ofprotos, &ofproto->hmap_node); @@ -1177,6 +1172,13 @@ ofproto_destroy(struct ofproto *p) return; } + if (p->meters) { + meter_delete(p, 1, p->meter_features.max_meters); + p->meter_features.max_meters = 0; + free(p->meters); + p->meters = NULL; + } + ofproto_flush__(p); HMAP_FOR_EACH_SAFE (ofport, next_ofport, hmap_node, &p->ports) { ofport_destroy(ofport); -- 2.20.1