31 #ifndef PTLIB_CRITICALSECTION_H
32 #define PTLIB_CRITICALSECTION_H
36 #ifdef P_ATOMICITY_HEADER
37 #include P_ATOMICITY_HEADER
87 inline void Enter() {
Wait(); }
101 inline void Leave() {
Signal(); }
110 #include "msos/ptlib/critsec.h"
124 #elif defined(P_ATOMICITY_BUILTIN)
126 #elif defined(_STLP_INTERNAL_THREADS_H) && defined(_STLP_ATOMIC_INCREMENT) && defined(_STLP_ATOMIC_DECREMENT)
128 #elif defined(SOLARIS) && !defined(__GNUC__)
130 #elif defined(__GNUC__) && defined(P_ATOMICITY_HEADER)
245 __inline
operator bool()
const {
return m_value != 0; }
263 return strm << (b.
m_value != 0 ?
"true" :
"false");
268 #if defined(_WIN32) || defined(DOC_PLUS_PLUS)
276 #elif defined(P_ATOMICITY_BUILTIN)
284 #elif defined(_STLP_INTERNAL_THREADS_H) && defined(_STLP_ATOMIC_INCREMENT) && defined(_STLP_ATOMIC_DECREMENT)
292 #elif defined(SOLARIS) && !defined(__GNUC__)
300 #elif defined(P_ATOMICITY_HEADER)
301 #define EXCHANGE_AND_ADD P_ATOMICITY_NAMESPACE __exchange_and_add
320 #endif // PTLIB_CRITICALSECTION_H