Go to the documentation of this file.
6 #ifndef ABTI_POOL_H_INCLUDED
7 #define ABTI_POOL_H_INCLUDED
13 #ifndef ABT_CONFIG_DISABLE_ERROR_CHECK
28 #ifndef ABT_CONFIG_DISABLE_ERROR_CHECK
ABTD_atomic_int32 num_blocked
static void ABTI_pool_push(ABTI_pool *p_pool, ABT_unit unit)
static size_t ABTI_pool_get_size(ABTI_pool *p_pool)
struct ABT_pool_opaque * ABT_pool
Pool handle type.
static int32_t ABTD_atomic_fetch_add_int32(ABTD_atomic_int32 *ptr, int32_t v)
static int32_t ABTD_atomic_acquire_load_int32(const ABTD_atomic_int32 *ptr)
static void ABTI_pool_add_thread(ABTI_thread *p_thread)
ABT_pool_pop_wait_fn p_pop_wait
static ABTU_ret_err int ABTI_pool_remove(ABTI_pool *p_pool, ABT_unit unit)
static void ABTD_atomic_relaxed_store_int(ABTD_atomic_int *ptr, int val)
ABT_pool_remove_fn p_remove
static size_t ABTI_pool_get_total_size(ABTI_pool *p_pool)
struct ABT_unit_opaque * ABT_unit
Work unit handle type for scheduling.
#define ABTI_ASSERT(cond)
ABT_pool_get_size_fn p_get_size
#define LOG_DEBUG_POOL_POP(p_pool, unit)
static ABTI_pool * ABTI_pool_get_ptr(ABT_pool pool)
static ABT_unit ABTI_pool_pop(ABTI_pool *p_pool)
static ABT_unit ABTI_pool_pop_wait(ABTI_pool *p_pool, double time_secs)
static void ABTI_pool_inc_num_blocked(ABTI_pool *p_pool)
static ABT_unit ABTI_pool_pop_timedwait(ABTI_pool *p_pool, double abstime_secs)
static int32_t ABTI_pool_release(ABTI_pool *p_pool)
static void ABTI_pool_retain(ABTI_pool *p_pool)
ABTD_atomic_int32 num_scheds
#define LOG_DEBUG_POOL_REMOVE(p_pool, unit)
ABT_pool_pop_timedwait_fn p_pop_timedwait
static ABT_pool ABTI_pool_get_handle(ABTI_pool *p_pool)
static int32_t ABTD_atomic_fetch_sub_int32(ABTD_atomic_int32 *ptr, int32_t v)
static void ABTI_pool_dec_num_blocked(ABTI_pool *p_pool)