ARGOBOTS  29b0d4cc91ca184a8278ddf690fd0bcb2119000e
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
Functions | Variables
pool.c File Reference
#include "abti.h"
Include dependency graph for pool.c:

Go to the source code of this file.

Functions

static ABTU_ret_err int pool_create (ABT_pool_def *def, ABT_pool_config config, ABT_bool automatic, ABTI_pool **pp_newpool)
 
int ABT_pool_create (ABT_pool_def *def, ABT_pool_config config, ABT_pool *newpool)
 Create a new pool and return its handle through newpool. More...
 
int ABT_pool_create_basic (ABT_pool_kind kind, ABT_pool_access access, ABT_bool automatic, ABT_pool *newpool)
 Create a new pool from a predefined type and return its handle through newpool. More...
 
int ABT_pool_free (ABT_pool *pool)
 Free the given pool, and modify its value to ABT_POOL_NULL. More...
 
int ABT_pool_get_access (ABT_pool pool, ABT_pool_access *access)
 Get the access type of target pool. More...
 
int ABT_pool_get_total_size (ABT_pool pool, size_t *size)
 Return the total size of a pool. More...
 
int ABT_pool_get_size (ABT_pool pool, size_t *size)
 Return the size of a pool. More...
 
int ABT_pool_pop (ABT_pool pool, ABT_unit *p_unit)
 Pop a unit from the target pool. More...
 
int ABT_pool_pop_wait (ABT_pool pool, ABT_unit *p_unit, double time_secs)
 Pop a unit from the target pool with wait. More...
 
int ABT_pool_pop_timedwait (ABT_pool pool, ABT_unit *p_unit, double abstime_secs)
 
int ABT_pool_push (ABT_pool pool, ABT_unit unit)
 Push a unit to the target pool. More...
 
int ABT_pool_remove (ABT_pool pool, ABT_unit unit)
 Remove a specified unit from the target pool. More...
 
int ABT_pool_print_all (ABT_pool pool, void *arg, void(*print_fn)(void *, ABT_unit))
 Apply a print function to every unit in a pool using a user-defined function. More...
 
int ABT_pool_set_data (ABT_pool pool, void *data)
 Set the specific data of the target user-defined pool. More...
 
int ABT_pool_get_data (ABT_pool pool, void **data)
 Retrieve the specific data of the target user-defined pool. More...
 
int ABT_pool_add_sched (ABT_pool pool, ABT_sched sched)
 Push a scheduler to a pool. More...
 
int ABT_pool_get_id (ABT_pool pool, int *id)
 Get the ID of the target pool. More...
 
ABTU_ret_err int ABTI_pool_create_basic (ABT_pool_kind kind, ABT_pool_access access, ABT_bool automatic, ABTI_pool **pp_newpool)
 
void ABTI_pool_free (ABTI_pool *p_pool)
 
void ABTI_pool_print (ABTI_pool *p_pool, FILE *p_os, int indent)
 
void ABTI_pool_reset_id (void)
 
static uint64_t pool_get_new_id (void)
 

Variables

static ABTD_atomic_uint64 g_pool_id = ABTD_ATOMIC_UINT64_STATIC_INITIALIZER(0)
 

Function Documentation

int ABT_pool_pop_timedwait ( ABT_pool  pool,
ABT_unit p_unit,
double  abstime_secs 
)

Definition at line 196 of file pool.c.

ABTU_ret_err int ABTI_pool_create_basic ( ABT_pool_kind  kind,
ABT_pool_access  access,
ABT_bool  automatic,
ABTI_pool **  pp_newpool 
)
void ABTI_pool_free ( ABTI_pool p_pool)

Definition at line 408 of file pool.c.

Referenced by ABT_pool_free(), ABTI_sched_free(), ABTI_xstream_free(), and sched_create().

void ABTI_pool_print ( ABTI_pool p_pool,
FILE *  p_os,
int  indent 
)

Definition at line 416 of file pool.c.

Referenced by ABT_info_print_pool(), and ABTI_sched_print().

void ABTI_pool_reset_id ( void  )

Definition at line 467 of file pool.c.

Referenced by init_library().

static ABTU_ret_err int pool_create ( ABT_pool_def def,
ABT_pool_config  config,
ABT_bool  automatic,
ABTI_pool **  pp_newpool 
)
static

Definition at line 477 of file pool.c.

Referenced by ABT_pool_create(), and ABTI_pool_create_basic().

static uint64_t pool_get_new_id ( void  )
inlinestatic

Definition at line 524 of file pool.c.

Referenced by pool_create().

Variable Documentation

Definition at line 466 of file pool.c.