Go to the documentation of this file.
44 #ifndef ABT_CONFIG_ENABLE_VER_20_API
100 #ifndef ABT_CONFIG_ENABLE_VER_20_API
112 p_newmutex->attrs = p_attr->
attrs;
524 p_newattr->attrs = p_mutex->
attrs;
int ABT_mutex_lock_low(ABT_mutex mutex)
Lock a mutex with low priority.
static ABTI_mutex * ABTI_mutex_get_ptr(ABT_mutex mutex)
int ABT_bool
Boolean type.
static void ABTI_mutex_lock(ABTI_local **pp_local, ABTI_mutex *p_mutex)
#define ABTI_CHECK_ERROR(abt_errno)
struct ABT_mutex_opaque * ABT_mutex
Mutex handle type.
int ABT_mutex_unlock_de(ABT_mutex mutex)
Unlock a mutex and try to hand it over a waiter associated with an execution stream that is different...
int ABT_mutex_lock(ABT_mutex mutex)
Lock a mutex.
static void ABTI_mutex_unlock(ABTI_local *p_local, ABTI_mutex *p_mutex)
int ABT_mutex_equal(ABT_mutex mutex1, ABT_mutex mutex2, ABT_bool *result)
Compare two mutex handles for equality.
static ABT_mutex_attr ABTI_mutex_attr_get_handle(ABTI_mutex_attr *p_attr)
static ABTI_mutex_attr * ABTI_mutex_attr_get_ptr(ABT_mutex_attr attr)
int ABT_mutex_trylock(ABT_mutex mutex)
Attempt to lock a mutex.
#define ABTI_CHECK_NULL_MUTEX_PTR(p)
struct ABT_mutex_attr_opaque * ABT_mutex_attr
Mutex attribute handle type.
int ABT_mutex_create(ABT_mutex *newmutex)
Create a new mutex.
int ABT_mutex_lock_high(ABT_mutex mutex)
Lock a mutex with high priority.
static ABTU_ret_err int ABTU_malloc(size_t size, void **p_ptr)
static ABTI_local * ABTI_local_get_local(void)
#define ABTI_STATIC_ASSERT(cond)
#define ABT_SUCCESS
Error code: the routine returns successfully.
#define ABT_TRUE
True constant for ABT_bool.
#define ABT_FALSE
False constant for ABT_bool.
int ABT_mutex_spinlock(ABT_mutex mutex)
Lock a mutex in a busy-wait form.
static void ABTI_mutex_spinlock(ABTI_local *p_local, ABTI_mutex *p_mutex)
static void ABTU_free(void *ptr)
static int ABTI_mutex_trylock(ABTI_local *p_local, ABTI_mutex *p_mutex)
int ABT_mutex_unlock_se(ABT_mutex mutex)
Unlock a mutex and try to hand it over a waiter associated with the same execution stream.
A struct that can be converted to ABT_mutex.
struct ABTI_local ABTI_local
int ABT_mutex_create_with_attr(ABT_mutex_attr attr, ABT_mutex *newmutex)
Create a new mutex with mutex attributes.
int ABT_mutex_unlock(ABT_mutex mutex)
Unlock a mutex.
static void ABTI_mutex_init(ABTI_mutex *p_mutex)
int ABT_mutex_get_attr(ABT_mutex mutex, ABT_mutex_attr *attr)
Get attributes of a mutex.
static ABT_mutex ABTI_mutex_get_handle(ABTI_mutex *p_mutex)
int ABT_mutex_free(ABT_mutex *mutex)
Free a mutex.