ARGOBOTS  1.1
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 (ABTI_pool_def *def, ABT_pool_config config, ABT_bool automatic, ABT_bool is_builtin, ABTI_pool **pp_newpool)
 
int ABT_pool_create (ABT_pool_def *def, ABT_pool_config config, ABT_pool *newpool)
 Create a new pool. 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. More...
 
int ABT_pool_free (ABT_pool *pool)
 Free a pool. More...
 
int ABT_pool_get_access (ABT_pool pool, ABT_pool_access *access)
 Get an access type of a pool. More...
 
int ABT_pool_get_total_size (ABT_pool pool, size_t *size)
 Get the total size of a pool. More...
 
int ABT_pool_get_size (ABT_pool pool, size_t *size)
 Get the size of a pool. More...
 
int ABT_pool_pop (ABT_pool pool, ABT_unit *p_unit)
 Pop a work unit from a pool. More...
 
int ABT_pool_pop_wait (ABT_pool pool, ABT_unit *p_unit, double time_secs)
 Pop a unit from a pool with wait. More...
 
int ABT_pool_pop_timedwait (ABT_pool pool, ABT_unit *p_unit, double abstime_secs)
 Pop a unit from a pool with timed wait. More...
 
int ABT_pool_push (ABT_pool pool, ABT_unit unit)
 Push a unit to a pool. More...
 
int ABT_pool_remove (ABT_pool pool, ABT_unit unit)
 Remove a specified work unit from a pool. More...
 
int ABT_pool_print_all (ABT_pool pool, void *arg, void(*print_fn)(void *, ABT_unit))
 Apply a print function to every work unit in a pool using a user-defined function. More...
 
int ABT_pool_set_data (ABT_pool pool, void *data)
 Set user data in a pool. More...
 
int ABT_pool_get_data (ABT_pool pool, void **data)
 Retrieve user data from a pool. More...
 
int ABT_pool_add_sched (ABT_pool pool, ABT_sched sched)
 Create a new work unit associated with a scheduler and push it to a pool. More...
 
int ABT_pool_get_id (ABT_pool pool, int *id)
 Get ID of a 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

◆ ABTI_pool_create_basic()

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

◆ ABTI_pool_free()

void ABTI_pool_free ( ABTI_pool p_pool)

◆ ABTI_pool_print()

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

Definition at line 901 of file pool.c.

Referenced by ABT_info_print_pool(), and ABTI_sched_print().

◆ ABTI_pool_reset_id()

void ABTI_pool_reset_id ( void  )

Definition at line 950 of file pool.c.

Referenced by init_library().

◆ pool_create()

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

Definition at line 960 of file pool.c.

Referenced by ABT_pool_create(), and ABTI_pool_create_basic().

◆ pool_get_new_id()

static uint64_t pool_get_new_id ( void  )
inlinestatic

Definition at line 1004 of file pool.c.

Referenced by pool_create().

Variable Documentation

◆ g_pool_id

Definition at line 949 of file pool.c.

Referenced by ABTI_pool_reset_id(), and pool_get_new_id().