29 #ifndef ICL_CORE_LOGGING_SINGLETON_THREADING_MODELS_H_INCLUDED 30 #define ICL_CORE_LOGGING_SINGLETON_THREADING_MODELS_H_INCLUDED 47 #if defined(_SYSTEM_WIN32_) 49 #elif defined(__GNUC__) 50 __asm__ __volatile__ (
"" :::
"memory");
52 #error "No memory barrier implementation is available for your system." 57 typedef ::icl_core::logging::ScopedSemaphore
Guard;
60 typedef ::icl_core::logging::Semaphore
Lock;
static void memoryBarrier()
Memory barrier for synchronization.
Semaphore-based thread-safe singleton threading model.
::icl_core::logging::ScopedSemaphore Guard
Use ScopedSemaphore as the lock guard.
::icl_core::logging::Semaphore Lock
Use Semaphore as the actual lock.