summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/affinitymap.c9
-rw-r--r--lib/affinitymap.h2
2 files changed, 10 insertions, 1 deletions
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
}