tlds
Transactional Operations for Linked Data Structures
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
thread.c File Reference
#include <assert.h>
#include <stdlib.h>
#include "thread.h"
#include "types.h"
Include dependency graph for thread.c:

Classes

struct  barrier
 

Typedefs

typedef struct barrier barrier_t
 

Functions

static void threadWait (void *argPtr)
 
void thread_startup (long numThread)
 
void thread_start (void(*funcPtr)(void *), void *argPtr)
 
void thread_shutdown ()
 
barrier_tbarrier_alloc ()
 
void barrier_free (barrier_t *b)
 
void barrier_init (barrier_t *b, int n)
 
void barrier_cross (barrier_t *b)
 
void thread_barrier_wait ()
 
long thread_getId ()
 
long thread_getNumThread ()
 

Variables

static THREAD_LOCAL_T global_threadId
 
static long global_numThread = 1
 
static THREAD_BARRIER_Tglobal_barrierPtr = NULL
 
static long * global_threadIds = NULL
 
static THREAD_ATTR_T global_threadAttr
 
static THREAD_Tglobal_threads = NULL
 
static void(* global_funcPtr )(void *) = NULL
 
static void * global_argPtr = NULL
 
static volatile bool_t global_doShutdown = FALSE
 

Typedef Documentation

typedef struct barrier barrier_t

Function Documentation

barrier_t* barrier_alloc ( )
void barrier_cross ( barrier_t b)
void barrier_free ( barrier_t b)
void barrier_init ( barrier_t b,
int  n 
)
void thread_barrier_wait ( )

Here is the call graph for this function:

Here is the caller graph for this function:

long thread_getId ( )

Here is the caller graph for this function:

long thread_getNumThread ( )

Here is the caller graph for this function:

void thread_shutdown ( )
inline

Here is the call graph for this function:

void thread_start ( void(*)(void *)  funcPtr,
void *  argPtr 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void thread_startup ( long  numThread)

Here is the call graph for this function:

Here is the caller graph for this function:

static void threadWait ( void *  argPtr)
static

Here is the caller graph for this function:

Variable Documentation

void* global_argPtr = NULL
static
THREAD_BARRIER_T* global_barrierPtr = NULL
static
volatile bool_t global_doShutdown = FALSE
static
void(* global_funcPtr)(void *) = NULL
static
long global_numThread = 1
static
THREAD_ATTR_T global_threadAttr
static
THREAD_LOCAL_T global_threadId
static
long* global_threadIds = NULL
static
THREAD_T* global_threads = NULL
static