From: Arnaud Giersch Date: Fri, 20 Oct 2017 11:39:46 +0000 (+0200) Subject: Define xbt_os_thread_key_destroy. X-Git-Tag: v3.18~399^2~14 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/a8e35155b61125b1ba3292d09da11858dab30788 Define xbt_os_thread_key_destroy. --- 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);