14 #include "orte_config.h"
25 #define ORTE_THREAD_LOCK(mutex) opal_mutex_lock(mutex)
31 #define ORTE_THREAD_TRYLOCK(mutex) opal_mutex_trylock(mutex)
34 #define ORTE_THREAD_UNLOCK(mutex) opal_mutex_unlock(mutex)
38 #define ORTE_THREAD_SCOPED_LOCK(mutex, action) \
40 opal_mutex_lock(mutex); \
42 opal_mutex_unlock(mutex); \
47 #define ORTE_THREAD_ADD32(x,y) opal_atomic_add_32(x,y)
49 #define ORTE_THREAD_ADD64(x,y) opal_atomic_add_64(x,y)
51 #define ORTE_THREAD_ADD_SIZE_T(x,y) opal_atomic_add_size_t(x,y)
53 #define ORTE_CMPSET(x, y, z) ((*(x) == (y)) ? ((*(x) = (z)), 1) : 0)
55 #if OPAL_HAVE_ATOMIC_CMPSET_32
56 #define ORTE_ATOMIC_CMPSET_32(x, y, z) opal_atomic_cmpset_32(x, y, z)
59 # if OPAL_HAVE_ATOMIC_CMPSET_64
60 #define ORTE_ATOMIC_CMPSET_64(x, y, z) opal_atomic_cmpset_64(x, y, z)
63 #if OPAL_HAVE_ATOMIC_CMPSET_32 || OPAL_HAVE_ATOMIC_CMPSET_64
64 #define ORTE_ATOMIC_CMPSET(x, y, z) opal_atomic_cmpset(x, y, z)
OPAL output stream facility.
Mutual exclusion functions.