From a8e35155b61125b1ba3292d09da11858dab30788 Mon Sep 17 00:00:00 2001 From: Arnaud Giersch Date: Fri, 20 Oct 2017 13:39:46 +0200 Subject: [PATCH] Define xbt_os_thread_key_destroy. --- include/xbt/xbt_os_thread.h | 1 + src/xbt/xbt_os_thread.c | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/include/xbt/xbt_os_thread.h b/include/xbt/xbt_os_thread.h index 097d503319..23b8fc8339 100644 --- a/include/xbt/xbt_os_thread.h +++ b/include/xbt/xbt_os_thread.h @@ -36,6 +36,7 @@ XBT_PUBLIC(const char *) xbt_os_thread_self_name(void); XBT_PUBLIC(void) xbt_os_thread_set_extra_data(void *data); XBT_PUBLIC(void *) xbt_os_thread_get_extra_data(void); XBT_PUBLIC(void) xbt_os_thread_key_create(xbt_os_thread_key_t* key); +XBT_PUBLIC(void) xbt_os_thread_key_destroy(xbt_os_thread_key_t key); XBT_PUBLIC(void) xbt_os_thread_set_specific(xbt_os_thread_key_t key, void* value); XBT_PUBLIC(void*) xbt_os_thread_get_specific(xbt_os_thread_key_t key); /* xbt_os_thread_join frees the joined thread (ie the XBT wrapper around it, the OS frees the rest) */ diff --git a/src/xbt/xbt_os_thread.c b/src/xbt/xbt_os_thread.c index f0d93581c5..503ad7c340 100644 --- a/src/xbt/xbt_os_thread.c +++ b/src/xbt/xbt_os_thread.c @@ -252,6 +252,12 @@ void xbt_os_thread_key_create(xbt_os_thread_key_t* key) xbt_assert(errcode==0 , "pthread_key_create failed"); } +void xbt_os_thread_key_destroy(xbt_os_thread_key_t key) +{ + int errcode = pthread_key_delete(key); + xbt_assert(errcode == 0, "pthread_key_delete failed"); +} + void xbt_os_thread_set_specific(xbt_os_thread_key_t key, void* value) { int errcode = pthread_setspecific(key, value); -- 2.20.1