Add M_THREAD_ATTR
This commit is contained in:
1 parent
8cf780a60f
commit
1fb1fa2e0a
1 file changed
+9
@@ -120,6 +120,7 @@ static inline void m_oncei_call(m_oncei_t o, void (*func)(void))
|
|||||||
call_once(o,func);
|
call_once(o,func);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#define M_THREAD_ATTR _Thread_local
|
||||||
|
|
||||||
|
|
||||||
// MSYS2 doesn't define _WIN32 by default.
|
// MSYS2 doesn't define _WIN32 by default.
|
||||||
@@ -237,6 +238,12 @@ static inline void m_oncei_call(m_oncei_t o, void (*func)(void))
|
|||||||
InitOnceExecuteOnce(o, m_oncei_callback, (void*)(intptr_t)func, NULL);
|
InitOnceExecuteOnce(o, m_oncei_callback, (void*)(intptr_t)func, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(_MSC_VER)
|
||||||
|
# define M_THREAD_ATTR __declspec( thread )
|
||||||
|
#else
|
||||||
|
# define M_THREAD_ATTR __thread
|
||||||
|
#endif
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
/**************************** PTHREAD version ******************************/
|
/**************************** PTHREAD version ******************************/
|
||||||
@@ -348,6 +355,8 @@ static inline void m_oncei_call(m_oncei_t o, void (*func)(void))
|
|||||||
pthread_once(o,func);
|
pthread_once(o,func);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#define M_THREAD_ATTR __thread
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// TODO: m_thread_sleep doesn't yield thread during waiting, making it a poor choice for active waiting.
|
// TODO: m_thread_sleep doesn't yield thread during waiting, making it a poor choice for active waiting.
|
||||||
|
|||||||
Reference in new issue
Block a user