ARGOBOTS
dce6e727ffc4ca5b3ffc04cb9517c6689be51ec5
|
Go to the documentation of this file.
6 #ifndef ABTI_THREAD_H_INCLUDED
7 #define ABTI_THREAD_H_INCLUDED
11 #ifndef ABT_CONFIG_DISABLE_ERROR_CHECK
26 #ifndef ABT_CONFIG_DISABLE_ERROR_CHECK
28 if (p_thread == NULL) {
79 #define ABTI_THREAD_HANDLE_REQUEST_NONE ((int)0x0)
80 #define ABTI_THREAD_HANDLE_REQUEST_CANCELLED ((int)0x1)
81 #define ABTI_THREAD_HANDLE_REQUEST_MIGRATED ((int)0x2)
86 #if defined(ABT_CONFIG_DISABLE_CANCELLATION) && \
87 defined(ABT_CONFIG_DISABLE_MIGRATION)
91 const uint32_t request =
95 #ifndef ABT_CONFIG_DISABLE_CANCELLATION
104 #ifndef ABT_CONFIG_DISABLE_MIGRATION
@ ABT_THREAD_STATE_TERMINATED
#define ABTI_THREAD_TYPE_MEM_MALLOC_DESC_MEMPOOL_LAZY_STACK
int ABT_bool
Boolean type.
static uint32_t ABTD_atomic_acquire_load_uint32(const ABTD_atomic_uint32 *ptr)
struct ABT_thread_opaque * ABT_thread
Work unit handle type.
static ABTI_global * ABTI_global_get_global(void)
#define ABTI_THREAD_TYPE_YIELDABLE
ABTD_atomic_uint32 request
static ABTI_ythread * ABTI_thread_get_ythread(ABTI_thread *p_thread)
void ABTI_thread_free(ABTI_global *p_global, ABTI_local *p_local, ABTI_thread *p_thread)
static ABT_thread ABTI_thread_get_handle(ABTI_thread *p_thread)
static ABTU_ret_err int ABTI_mem_alloc_ythread_mempool_stack(ABTI_xstream *p_local_xstream, ABTI_ythread *p_ythread)
#define ABTI_THREAD_TYPE_EXT
static ABT_unit_type ABTI_thread_type_get_type(ABTI_thread_type type)
#define ABTI_THREAD_REQ_MIGRATE
static void ABTI_mem_free_ythread_mempool_stack(ABTI_xstream *p_local_xstream, ABTI_ythread *p_ythread)
static ABTI_ythread * ABTI_thread_get_ythread_or_null(ABTI_thread *p_thread)
ABT_unit_type
Type of a work unit for scheduling.
#define ABTI_THREAD_HANDLE_REQUEST_CANCELLED
ABTU_ret_err int ABTI_thread_handle_request_migrate(ABTI_global *p_global, ABTI_local *p_local, ABTI_thread *p_thread)
#define ABTI_STATIC_ASSERT(cond)
#define ABT_SUCCESS
Error code: the routine returns successfully.
#define ABTI_THREAD_HANDLE_REQUEST_MIGRATED
#define ABTI_THREAD_REQ_CANCEL
static ABTI_local * ABTI_xstream_get_local(ABTI_xstream *p_xstream)
uint32_t ABTI_thread_type
#define ABTU_unlikely(cond)
static uint32_t ABTD_atomic_fetch_and_uint32(ABTD_atomic_uint32 *ptr, uint32_t v)
void ABTI_thread_handle_request_cancel(ABTI_global *p_global, ABTI_xstream *p_local_xstream, ABTI_thread *p_thread)
static uint32_t ABTD_atomic_fetch_or_uint32(ABTD_atomic_uint32 *ptr, uint32_t v)
#define ABTI_THREAD_TYPE_NAMED
ABTI_xstream * p_last_xstream
static void ABTI_thread_unset_request(ABTI_thread *p_thread, uint32_t req)
static int ABTI_thread_handle_request(ABTI_thread *p_thread, ABT_bool allow_termination)
#define ABTI_THREAD_TYPE_MEM_MEMPOOL_DESC_MEMPOOL_LAZY_STACK
#define ABTI_THREAD_HANDLE_REQUEST_NONE
static ABT_bool ABTD_ythread_context_has_stack(const ABTD_ythread_context *p_ctx)
static void ABTD_atomic_release_store_int(ABTD_atomic_int *ptr, int val)
static ABTI_thread * ABTI_thread_get_ptr(ABT_thread thread)
static void ABTI_thread_terminate(ABTI_global *p_global, ABTI_xstream *p_local_xstream, ABTI_thread *p_thread)
static void ABTI_thread_set_request(ABTI_thread *p_thread, uint32_t req)