ARGOBOTS
dce6e727ffc4ca5b3ffc04cb9517c6689be51ec5
src
arch
abtd_ythread.c
Go to the documentation of this file.
1
/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
2
/*
3
* See COPYRIGHT in top-level directory.
4
*/
5
6
#include "
abti.h
"
7
8
void
ABTD_ythread_func_wrapper
(
ABTD_ythread_context
*p_arg)
9
{
10
ABTD_ythread_context
*p_ctx = p_arg;
11
ABTI_ythread
*p_ythread =
ABTI_ythread_context_get_ythread
(p_ctx);
12
p_ythread->
thread
.
f_thread
(p_ythread->
thread
.
p_arg
);
13
14
ABTI_xstream
*p_local_xstream = p_ythread->
thread
.
p_last_xstream
;
15
ABTI_ythread_exit
(p_local_xstream, p_ythread);
16
}
17
18
void
ABTD_ythread_print_context
(
ABTI_ythread
*p_ythread, FILE *p_os,
int
indent)
19
{
20
ABTD_ythread_context
*p_ctx = &p_ythread->
ctx
;
21
fprintf(p_os,
"%*sp_ctx : %p\n"
, indent,
""
, (
void
*)p_ctx);
22
fprintf(p_os,
"%*sp_link : %p\n"
, indent,
""
,
23
(
void
*)
ABTD_atomic_acquire_load_ythread_context_ptr
(
24
&p_ctx->p_link));
25
fflush(p_os);
26
}
ABTI_thread::p_arg
void * p_arg
Definition:
abti.h:431
ABTD_ythread_func_wrapper
void ABTD_ythread_func_wrapper(ABTD_ythread_context *p_arg)
Definition:
abtd_ythread.c:8
ABTI_xstream
Definition:
abti.h:294
ABTD_ythread_context
Definition:
abtd_fcontext.h:56
ABTI_ythread_context_get_ythread
static ABTI_ythread * ABTI_ythread_context_get_ythread(ABTD_ythread_context *p_ctx)
Definition:
abti_ythread.h:66
abti.h
ABTI_ythread::ctx
ABTD_ythread_context ctx
Definition:
abti.h:458
ABTD_ythread_print_context
void ABTD_ythread_print_context(ABTI_ythread *p_ythread, FILE *p_os, int indent)
Definition:
abtd_ythread.c:18
ABTI_ythread_exit
static ABTU_noreturn void ABTI_ythread_exit(ABTI_xstream *p_local_xstream, ABTI_ythread *p_self)
Definition:
abti_ythread.h:460
ABTI_ythread
Definition:
abti.h:456
ABTI_thread::p_last_xstream
ABTI_xstream * p_last_xstream
Definition:
abti.h:428
ABTI_ythread::thread
ABTI_thread thread
Definition:
abti.h:457
ABTI_thread::f_thread
void(* f_thread)(void *)
Definition:
abti.h:430
ABTD_atomic_acquire_load_ythread_context_ptr
static ABTD_ythread_context * ABTD_atomic_acquire_load_ythread_context_ptr(const ABTD_ythread_context_atomic_ptr *ptr)
Definition:
abtd_context.h:32
Generated on Fri Jan 28 2022 04:21:52 for ARGOBOTS by
1.8.17