/* * mono-tls.h: Low-level TLS support * * Author: * Rodrigo Kumpera (kumpera@gmail.com) * * (C) 2011 Novell, Inc */ #ifndef __MONO_TLS_H__ #define __MONO_TLS_H__ #ifdef HOST_WIN32 #include #define MonoNativeTlsKey DWORD #define mono_native_tls_alloc(key,destructor) (g_assert (!destructor), (key = TlsAlloc ()) != TLS_OUT_OF_INDEXES) #define mono_native_tls_set_value TlsSetValue #define mono_native_tls_get_value TlsGetValue #else #include #define MonoNativeTlsKey pthread_key_t #define mono_native_tls_alloc(key,destructor) (pthread_key_create (key, destructor) == 0) #define mono_native_tls_set_value pthread_setspecific #define mono_native_tls_get_value pthread_getspecific #endif /* HOST_WIN32 */ #endif /* __MONO_TLS_H__ */