ARGOBOTS
dce6e727ffc4ca5b3ffc04cb9517c6689be51ec5
|
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
103 size_t len,
size_t *num,
ABT_pool_user_get_size_fn p_get_size
ABTD_atomic_int32 num_blocked
ABT_pool_remove_fn p_remove
int ABT_bool
Boolean type.
uint64_t ABT_pool_context
A pool context value.
struct ABT_thread_opaque * ABT_thread
Work unit handle type.
ABT_pool_user_push_fn p_push
ABT_pool_user_pop_fn p_pop
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 ABT_thread ABTI_pool_pop(ABTI_pool *p_pool, ABT_pool_context context)
static int32_t ABTD_atomic_acquire_load_int32(const ABTD_atomic_int32 *ptr)
#define LOG_DEBUG_POOL_POP(p_pool, thread)
static void ABTI_pool_push_many(ABTI_pool *p_pool, const ABT_unit *units, size_t num, ABT_pool_context context)
static ABT_thread ABTI_pool_pop_wait(ABTI_pool *p_pool, double time_secs, ABT_pool_context context)
#define LOG_DEBUG_POOL_PUSH(p_pool, unit)
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_user_pop_wait_fn p_pop_wait
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)
ABTI_pool_required_def required_def
ABT_pool_user_push_many_fn p_push_many
ABTI_pool_deprecated_def deprecated_def
#define LOG_DEBUG_POOL_POP_MANY(p_pool, threads, num)
#define LOG_DEBUG_POOL_PUSH_MANY(p_pool, units, num)
ABT_thread ABTI_pool_pop_timedwait(ABTI_pool *p_pool, double abstime_secs)
static ABTI_pool * ABTI_pool_get_ptr(ABT_pool pool)
static void ABTI_pool_add_thread(ABTI_thread *p_thread, ABT_pool_context context)
static void ABTI_pool_pop_many(ABTI_pool *p_pool, ABT_thread *threads, size_t len, size_t *num, ABT_pool_context context)
#define ABTI_UB_ASSERT(cond)
ABT_pool_user_pop_many_fn p_pop_many
static void ABTI_pool_push(ABTI_pool *p_pool, ABT_unit unit, ABT_pool_context context)
static void ABTI_pool_inc_num_blocked(ABTI_pool *p_pool)
static ABT_bool ABTI_pool_is_empty(ABTI_pool *p_pool)
ABTI_pool_optional_def optional_def
static int32_t ABTI_pool_release(ABTI_pool *p_pool)
ABT_pool_user_is_empty_fn p_is_empty
static void ABTI_pool_retain(ABTI_pool *p_pool)
ABTD_atomic_int32 num_scheds
#define LOG_DEBUG_POOL_REMOVE(p_pool, unit)
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)