ARGOBOTS  be4fa269aff5d27d176eaaf43a9acaa10a66c79d
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...
 
static uint64_t pool_get_new_id (void)
 

Variables

static ABTD_atomic_uint64 g_pool_id = ABTD_ATOMIC_UINT64_STATIC_INITIALIZER(0)
 

Function Documentation

◆ 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.

◆ pool_get_new_id()

static uint64_t pool_get_new_id ( void  )
inlinestatic

Definition at line 1004 of file pool.c.

Variable Documentation

◆ g_pool_id

ABTD_atomic_uint64 g_pool_id = ABTD_ATOMIC_UINT64_STATIC_INITIALIZER(0)
static

Definition at line 949 of file pool.c.