39 #ifndef BLOCXX_THREADIMPL_HPP_INCLUDE_GUARD_
40 #define BLOCXX_THREADIMPL_HPP_INCLUDE_GUARD_
41 #include "blocxx/BLOCXX_config.h"
47 #ifndef PTHREAD_ONCE_INIT
48 #define PTHREAD_ONCE_INIT pthread_once_init
56 namespace BLOCXX_NAMESPACE
62 #define BLOCXX_THREAD_FLG_JOINABLE 0x000000001
84 void* funcParm, UInt32 threadFlags);
98 const volatile Thread_t& handle2)
100 #if defined(BLOCXX_WIN32)
101 return handle1 == handle2;
102 #elif BLOCXX_USE_PTHREAD
103 return pthread_equal(handle1, handle2);
113 BLOCXX_COMMON_API
void exitThread(Thread_t& handle, Int32 rval);
119 #if defined(BLOCXX_WIN32)
120 return GetCurrentThreadId();
122 return pthread_self();
154 BLOCXX_COMMON_API
int joinThread(Thread_t& handle, Int32& rval);
159 BLOCXX_COMMON_API
void yield();
165 BLOCXX_COMMON_API
void sleep(UInt32 milliSeconds);
202 BLOCXX_COMMON_API
void cancel(Thread_t threadID);