+void xbt_os_thread_key_create(xbt_os_thread_key_t* key) {
+
+ int errcode;
+ if ((errcode = pthread_key_create(key, NULL)))
+ THROWF(system_error, errcode, "pthread_key_create failed");
+}
+
+void xbt_os_thread_set_specific(xbt_os_thread_key_t key, void* value) {
+
+ int errcode;
+ if ((errcode = pthread_setspecific(key, value)))
+ THROWF(system_error, errcode, "pthread_setspecific failed");
+}
+
+void* xbt_os_thread_get_specific(xbt_os_thread_key_t key) {
+ return pthread_getspecific(key);
+}
+