Go to the documentation of this file.
17 p_local_xstream->p_thread,
19 p_local_xstream->p_thread = &p_ythread->
thread;
62 #ifndef ABT_CONFIG_ACTIVE_WAIT_POLICY
79 LOG_DEBUG(
"[U%" PRIu64
":E%d] terminated\n",
84 p_joiner, &p_ythread->
thread);
106 #if ABT_CONFIG_THREAD_TYPE == ABT_THREAD_TYPE_DYNAMIC_PROMOTION
158 fprintf(p_os,
"%*sp_ctx : %p\n", indent,
"", p_ctx->
p_ctx);
159 fprintf(p_os,
"%*sp_link : %p\n", indent,
"",
@ ABT_THREAD_STATE_TERMINATED
#define ABTI_THREAD_REQ_TERMINATE
static ABTD_ythread_context * ABTD_atomic_relaxed_load_ythread_context_ptr(const ABTD_ythread_context_atomic_ptr *ptr)
#define ABTI_THREAD_TYPE_YIELDABLE
ABTD_atomic_uint32 request
static ABTI_ythread * ABTI_thread_get_ythread(ABTI_thread *p_thread)
ABT_unit_id ABTI_thread_get_id(ABTI_thread *p_thread)
void ABTD_ythread_cancel(ABTI_xstream *p_local_xstream, ABTI_ythread *p_ythread)
ABTD_ythread_context_atomic_ptr p_link
#define ABTI_THREAD_TYPE_EXT
static ABTI_ythread * ABTI_ythread_context_get_ythread(ABTD_ythread_context *p_ctx)
void ABTD_ythread_exit(ABTI_xstream *p_local_xstream, ABTI_ythread *p_ythread)
static void ythread_terminate(ABTI_xstream *p_local_xstream, ABTI_ythread *p_ythread)
#define LOG_DEBUG(fmt,...)
void ABTD_ythread_func_wrapper(void *p_arg)
#define ABTI_ASSERT(cond)
static ABTI_local * ABTI_local_get_local(void)
static ABTU_noreturn void ABTI_ythread_finish_context_to_parent(ABTI_xstream *p_local_xstream, ABTI_ythread *p_old)
static ABTI_local * ABTI_xstream_get_local(ABTI_xstream *p_xstream)
void ABTD_ythread_print_context(ABTI_ythread *p_ythread, FILE *p_os, int indent)
void ABTD_futex_resume(ABTD_futex_single *p_futex)
void ABTI_ythread_set_ready(ABTI_local *p_local, ABTI_ythread *p_ythread)
#define ABTI_THREAD_TYPE_MAIN_SCHED
static uint32_t ABTD_atomic_fetch_or_uint32(ABTD_atomic_uint32 *ptr, uint32_t v)
ABTI_xstream * p_last_xstream
static ABTU_noreturn void ABTI_ythread_finish_context_to_sibling(ABTI_xstream *p_local_xstream, ABTI_ythread *p_old, ABTI_ythread *p_new)
struct ABTI_local ABTI_local
static void ABTD_atomic_release_store_uint32(ABTD_atomic_uint32 *ptr, uint32_t val)
static ABTI_xstream * ABTI_local_get_xstream(ABTI_local *p_local)
static ABTU_noreturn void ABTU_unreachable(void)
void ABTD_ythread_terminate_no_arg()
static void ABTD_atomic_release_store_int(ABTD_atomic_int *ptr, int val)
static ABTD_ythread_context * ABTD_atomic_acquire_load_ythread_context_ptr(const ABTD_ythread_context_atomic_ptr *ptr)
#define ABTI_THREAD_REQ_JOIN