Go to the documentation of this file.
42 #ifndef ABT_CONFIG_ENABLE_VER_20_API
53 p_newrwlock->reader_count = 0;
54 p_newrwlock->write_flag = 0;
144 #ifndef ABT_CONFIG_ENABLE_VER_20_API
205 #ifndef ABT_CONFIG_ENABLE_VER_20_API
static void ABTI_mutex_lock(ABTI_local **pp_local, ABTI_mutex *p_mutex)
static void ABTI_cond_fini(ABTI_cond *p_cond)
#define ABTI_CHECK_ERROR(abt_errno)
int ABT_rwlock_free(ABT_rwlock *rwlock)
Free a readers-writer lock.
#define ABTI_THREAD_TYPE_YIELDABLE
int ABT_rwlock_rdlock(ABT_rwlock rwlock)
Lock a readers-writer lock as a reader.
#define ABTI_IS_ERROR_CHECK_ENABLED
static void ABTI_mutex_unlock(ABTI_local *p_local, ABTI_mutex *p_mutex)
#define ABTI_CHECK_NULL_RWLOCK_PTR(p)
static ABTU_ret_err int ABTU_malloc(size_t size, void **p_ptr)
static ABTI_local * ABTI_local_get_local(void)
static void ABTI_cond_init(ABTI_cond *p_cond)
static ABTI_rwlock * ABTI_rwlock_get_ptr(ABT_rwlock rwlock)
#define ABT_SUCCESS
Error code: the routine returns successfully.
static ABTU_ret_err int ABTI_cond_wait(ABTI_local **pp_local, ABTI_cond *p_cond, ABTI_mutex *p_mutex)
#define ABT_ERR_RWLOCK
Error code: error related to a readers-writer lock.
int ABT_rwlock_wrlock(ABT_rwlock rwlock)
Lock a readers-writer lock as a writer.
static void ABTU_free(void *ptr)
int ABT_rwlock_unlock(ABT_rwlock rwlock)
Unlock a readers-writer lock.
struct ABTI_local ABTI_local
static void ABTI_cond_broadcast(ABTI_local *p_local, ABTI_cond *p_cond)
#define ABTI_CHECK_TRUE(cond, abt_errno)
static void ABTI_mutex_init(ABTI_mutex *p_mutex)
int ABT_rwlock_create(ABT_rwlock *newrwlock)
Create a new readers-writer lock.
static ABTI_xstream * ABTI_local_get_xstream(ABTI_local *p_local)
struct ABT_rwlock_opaque * ABT_rwlock
Readers-writer lock handle type.
static ABT_rwlock ABTI_rwlock_get_handle(ABTI_rwlock *p_rwlock)