From d8a8a8de00ca28879eb865cd4f25e362570a910e Mon Sep 17 00:00:00 2001 From: Quentin Young Date: Mon, 5 Mar 2018 17:58:22 -0500 Subject: lib: some frr_pthread fixes * Use atomic fixed-width thread identifiers * Add ability to change thread name at runtime Signed-off-by: Quentin Young --- lib/thread.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'lib/thread.c') diff --git a/lib/thread.c b/lib/thread.c index 9d64663d9c..868bfd0e9b 100644 --- a/lib/thread.c +++ b/lib/thread.c @@ -343,7 +343,6 @@ static void initializer() pthread_key_create(&thread_current, NULL); } -/* Allocate new thread master. */ struct thread_master *thread_master_create(const char *name) { struct thread_master *rv; @@ -427,6 +426,17 @@ struct thread_master *thread_master_create(const char *name) return rv; } +void thread_master_set_name(struct thread_master *master, const char *name) +{ + pthread_mutex_lock(&master->mtx); + { + if (master->name) + XFREE(MTYPE_THREAD_MASTER, master->name); + master->name = XSTRDUP(MTYPE_THREAD_MASTER, name); + } + pthread_mutex_unlock(&master->mtx); +} + /* Add a new thread to the list. */ static void thread_list_add(struct thread_list *list, struct thread *thread) { -- cgit v1.2.3