Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Define xbt_os_thread_key_destroy.
authorArnaud Giersch <arnaud.giersch@univ-fcomte.fr>
Fri, 20 Oct 2017 11:39:46 +0000 (13:39 +0200)
committerArnaud Giersch <arnaud.giersch@univ-fcomte.fr>
Sat, 21 Oct 2017 12:47:58 +0000 (14:47 +0200)
include/xbt/xbt_os_thread.h
src/xbt/xbt_os_thread.c

index 097d503..23b8fc8 100644 (file)
@@ -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) */
index f0d9358..503ad7c 100644 (file)
@@ -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);