diff --git a/lib/affinitymap.c b/lib/affinitymap.c index 6ff8e83f91..10b339364b 100644 --- a/lib/affinitymap.c +++ b/lib/affinitymap.c @@ -127,3 +127,12 @@ void affinity_map_set_update_hook(void (*func)(const char *affmap_name, { affinity_map_master.update_hook = func; } + +void affinity_map_terminate(void) +{ + struct affinity_map *map; + struct listnode *node, *nnode; + + for (ALL_LIST_ELEMENTS(affinity_map_master.maps, node, nnode, map)) + affinity_map_free(map); +} diff --git a/lib/affinitymap.h b/lib/affinitymap.h index ebe2659bf7..efac1d6423 100644 --- a/lib/affinitymap.h +++ b/lib/affinitymap.h @@ -71,7 +71,7 @@ void affinity_map_set_update_hook(void (*func)(const char *affmap_name, uint16_t new_pos)); void affinity_map_init(void); - +void affinity_map_terminate(void); #ifdef __cplusplus }