]> arthur.barton.de Git - netdata.git/commitdiff
netdev_added cleanup and recalculation; fixes #1967
authorCosta Tsaousis (ktsaou) <costa@tsaousis.gr>
Sat, 18 Mar 2017 17:19:09 +0000 (19:19 +0200)
committerCosta Tsaousis (ktsaou) <costa@tsaousis.gr>
Sat, 18 Mar 2017 17:19:09 +0000 (19:19 +0200)
src/proc_net_dev.c

index e0de84c70c070508ff6e9ee84da3f8664e070449..1b00758d5451b3c2c8d1cec3bdb9a6a980728e5d 100644 (file)
@@ -81,6 +81,7 @@ static void netdev_free(struct netdev *d) {
     if(d->st_compressed) rrdset_flag_set(d->st_compressed, RRDSET_FLAG_OBSOLETE);
     if(d->st_events)     rrdset_flag_set(d->st_events,     RRDSET_FLAG_OBSOLETE);
 
+    netdev_added--;
     freez(d->name);
     freez(d);
 }
@@ -88,6 +89,7 @@ static void netdev_free(struct netdev *d) {
 static void netdev_cleanup() {
     if(likely(netdev_found == netdev_added)) return;
 
+    netdev_added = 0;
     struct netdev *d = netdev_root, *last = NULL;
     while(d) {
         if(unlikely(!d->updated)) {
@@ -108,6 +110,7 @@ static void netdev_cleanup() {
             netdev_free(t);
         }
         else {
+            netdev_added++;
             last = d;
             d->updated = 0;
             d = d->next;