ARGOBOTS  1.1
Data Structures | Macros | Typedefs | Functions
abtd_context.h File Reference
#include "abt_config.h"
#include <ucontext.h>
#include "abtd_ucontext.h"
Include dependency graph for abtd_context.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  ABTD_ythread_context_atomic_ptr
 

Macros

#define _XOPEN_SOURCE
 

Typedefs

typedef struct ABTD_ythread_context ABTD_ythread_context
 
typedef struct ABTD_ythread_context_atomic_ptr ABTD_ythread_context_atomic_ptr
 

Functions

static ABTD_ythread_contextABTD_atomic_relaxed_load_ythread_context_ptr (const ABTD_ythread_context_atomic_ptr *ptr)
 
static ABTD_ythread_contextABTD_atomic_acquire_load_ythread_context_ptr (const ABTD_ythread_context_atomic_ptr *ptr)
 
static void ABTD_atomic_relaxed_store_ythread_context_ptr (ABTD_ythread_context_atomic_ptr *ptr, ABTD_ythread_context *p_ctx)
 
static void ABTD_atomic_release_store_ythread_context_ptr (ABTD_ythread_context_atomic_ptr *ptr, ABTD_ythread_context *p_ctx)
 
static void ABTD_ythread_context_make (ABTD_ythread_context *p_ctx, void *sp, size_t size, void(*thread_func)(void *))
 
static void ABTD_ythread_context_jump (ABTD_ythread_context *p_old, ABTD_ythread_context *p_new, void *arg)
 
static ABTU_noreturn void ABTD_ythread_context_take (ABTD_ythread_context *p_old, ABTD_ythread_context *p_new, void *arg)
 
static void ABTD_ythread_context_init_and_call (ABTD_ythread_context *p_ctx, void *sp, void(*thread_func)(void *), void *arg)
 
void ABTD_ythread_print_context (ABTI_ythread *p_ythread, FILE *p_os, int indent)
 

Macro Definition Documentation

◆ _XOPEN_SOURCE

#define _XOPEN_SOURCE

Definition at line 13 of file abtd_context.h.

Typedef Documentation

◆ ABTD_ythread_context

Definition at line 23 of file abtd_context.h.

◆ ABTD_ythread_context_atomic_ptr

Function Documentation

◆ 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)
inlinestatic

◆ ABTD_atomic_relaxed_load_ythread_context_ptr()

static ABTD_ythread_context* ABTD_atomic_relaxed_load_ythread_context_ptr ( const ABTD_ythread_context_atomic_ptr ptr)
inlinestatic

Definition at line 30 of file abtd_context.h.

Referenced by ABTD_ythread_cancel().

◆ ABTD_atomic_relaxed_store_ythread_context_ptr()

static void ABTD_atomic_relaxed_store_ythread_context_ptr ( ABTD_ythread_context_atomic_ptr ptr,
ABTD_ythread_context p_ctx 
)
inlinestatic

◆ ABTD_atomic_release_store_ythread_context_ptr()

static void ABTD_atomic_release_store_ythread_context_ptr ( ABTD_ythread_context_atomic_ptr ptr,
ABTD_ythread_context p_ctx 
)
inlinestatic

Definition at line 49 of file abtd_context.h.

◆ ABTD_ythread_context_init_and_call()

static void ABTD_ythread_context_init_and_call ( ABTD_ythread_context p_ctx,
void *  sp,
void(*)(void *)  thread_func,
void *  arg 
)
static

◆ ABTD_ythread_context_jump()

static void ABTD_ythread_context_jump ( ABTD_ythread_context p_old,
ABTD_ythread_context p_new,
void *  arg 
)
static

◆ ABTD_ythread_context_make()

static void ABTD_ythread_context_make ( ABTD_ythread_context p_ctx,
void *  sp,
size_t  size,
void(*)(void *)  thread_func 
)
static

◆ ABTD_ythread_context_take()

static ABTU_noreturn void ABTD_ythread_context_take ( ABTD_ythread_context p_old,
ABTD_ythread_context p_new,
void *  arg 
)
static

◆ ABTD_ythread_print_context()

void ABTD_ythread_print_context ( ABTI_ythread p_ythread,
FILE *  p_os,
int  indent 
)

Definition at line 155 of file abtd_ythread.c.

Referenced by ABTI_ythread_print_stack().