14 #ifndef ATOMICADJUSTPOSIXIMPL_H    15 #define ATOMICADJUSTPOSIXIMPL_H    20 #ifdef HAVE_POSIX_THREADS    29 class EXPCL_DTOOL_DTOOLBASE AtomicAdjustPosixImpl {
    34   typedef void *Pointer;
    36   INLINE 
static void inc(TVOLATILE Integer &var);
    37   INLINE 
static bool dec(TVOLATILE Integer &var);
    38   INLINE 
static Integer add(TVOLATILE Integer &var, Integer delta);
    39   INLINE 
static Integer set(TVOLATILE Integer &var, Integer new_value);
    40   INLINE 
static Integer get(
const TVOLATILE Integer &var);
    42   INLINE 
static Pointer set_ptr(TVOLATILE Pointer &var, Pointer new_value);
    43   INLINE 
static Pointer get_ptr(
const TVOLATILE Pointer &var);
    45   INLINE 
static Integer compare_and_exchange(TVOLATILE Integer &mem,
    49   INLINE 
static Pointer compare_and_exchange_ptr(TVOLATILE Pointer &mem,
    54   static pthread_mutex_t _mutex;
    59 #endif  // HAVE_POSIX_THREADS PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
 
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
 
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.