diff options
-rw-r--r-- | include/cache.h | 1 | ||||
-rw-r--r-- | src/cache.c | 5 | ||||
-rw-r--r-- | src/monitor.c | 2 |
3 files changed, 7 insertions, 1 deletions
diff --git a/include/cache.h b/include/cache.h index 992f993c..f5b4876a 100644 --- a/include/cache.h +++ b/include/cache.h @@ -70,6 +70,7 @@ struct chain; void chain_cache_add(struct chain *chain, struct table *table); struct chain *chain_cache_find(const struct table *table, const char *name); void set_cache_add(struct set *set, struct table *table); +void set_cache_del(struct set *set); struct set *set_cache_find(const struct table *table, const char *name); struct cache { diff --git a/src/cache.c b/src/cache.c index 1aec1266..03b781bb 100644 --- a/src/cache.c +++ b/src/cache.c @@ -319,6 +319,11 @@ void set_cache_add(struct set *set, struct table *table) cache_add(&set->cache, &table->set_cache, hash); } +void set_cache_del(struct set *set) +{ + cache_del(&set->cache); +} + struct set *set_cache_find(const struct table *table, const char *name) { struct set *set; diff --git a/src/monitor.c b/src/monitor.c index ae288f6c..00cf7d13 100644 --- a/src/monitor.c +++ b/src/monitor.c @@ -687,7 +687,7 @@ out: static void netlink_events_cache_delset_cb(struct set *s, void *data) { - list_del(&s->list); + set_cache_del(s); set_free(s); } |