summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bgpd/bgp_evpn.c2
-rw-r--r--lib/thread.c8
2 files changed, 8 insertions, 2 deletions
diff --git a/bgpd/bgp_evpn.c b/bgpd/bgp_evpn.c
index 8c3e54566e..0703853354 100644
--- a/bgpd/bgp_evpn.c
+++ b/bgpd/bgp_evpn.c
@@ -519,6 +519,8 @@ static void form_auto_rt(struct bgp *bgp, vni_t vni, struct list *rtl)
if (!ecom_found)
listnode_add_sort(rtl, ecomadd);
+ else
+ ecommunity_free(&ecomadd);
}
/*
diff --git a/lib/thread.c b/lib/thread.c
index 19e4827283..db35a3f031 100644
--- a/lib/thread.c
+++ b/lib/thread.c
@@ -438,7 +438,8 @@ struct thread_master *thread_master_create(const char *name)
pthread_cond_init(&rv->cancel_cond, NULL);
/* Set name */
- rv->name = name ? XSTRDUP(MTYPE_THREAD_MASTER, name) : NULL;
+ name = name ? name : "default";
+ rv->name = XSTRDUP(MTYPE_THREAD_MASTER, name);
/* Initialize I/O task data structures */
getrlimit(RLIMIT_NOFILE, &limit);
@@ -449,10 +450,13 @@ struct thread_master *thread_master_create(const char *name)
rv->write = XCALLOC(MTYPE_THREAD_POLL,
sizeof(struct thread *) * rv->fd_limit);
+ char tmhashname[strlen(name) + 32];
+ snprintf(tmhashname, sizeof(tmhashname), "%s - threadmaster event hash",
+ name);
rv->cpu_record = hash_create_size(
8, (unsigned int (*)(const void *))cpu_record_hash_key,
(bool (*)(const void *, const void *))cpu_record_hash_cmp,
- "Thread Hash");
+ tmhashname);
thread_list_init(&rv->event);
thread_list_init(&rv->ready);