19#ifndef _DECAF_INTERNAL_UTIL_CONCURRENT_UNIX_THREADTYPES_H_
20#define _DECAF_INTERNAL_UTIL_CONCURRENT_UNIX_THREADTYPES_H_
41 #define DECAF_MAX_TLS_SLOTS 384
#define DECAF_MAX_TLS_SLOTS
Max number of TLS keys that a thread can use.
Definition ThreadingTypes.h:41
Definition ThreadingTypes.h:107
virtual bool operator()()
Called from non-timed wait conditions to determine if the condition necessary to complete the wait ha...
Definition ThreadingTypes.h:130
virtual ~CompletionCondition()
Definition ThreadingTypes.h:110
virtual bool operator()(bool timedOut DECAF_UNUSED)
Called from timed wait condition methods to indicate if the timeout has occurred, allows this method ...
Definition ThreadingTypes.h:122
A Thread is a concurrent unit of execution.
Definition Thread.h:64
pthread_cond_t * decaf_condition_t
Definition PlatformDefs.h:58
pthread_mutex_t * decaf_mutex_t
Definition PlatformDefs.h:59
pthread_t decaf_thread_t
Definition PlatformDefs.h:56
void * PLATFORM_THREAD_ENTRY_ARG
Definition PlatformDefs.h:50
PLATFORM_THREAD_CALLBACK_TYPE(PLATFORM_CALLING_CONV * threadMainMethod)(PLATFORM_THREAD_ENTRY_ARG)
This is the main method for thread instances, this value is valid on any platform,...
Definition ThreadingTypes.h:51
void(* threadingTask)(void *)
The ThreadHandle contains one of these and it should be the method that does the actual work for the ...
Definition ThreadingTypes.h:57
Definition ThreadingTypes.h:31
Definition AbstractCollection.h:33
Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.
Definition AprPool.h:25
Definition ThreadingTypes.h:95
MonitorHandle * next
Definition ThreadingTypes.h:104
bool initialized
Definition ThreadingTypes.h:103
unsigned int count
Definition ThreadingTypes.h:99
ThreadHandle * blocking
Definition ThreadingTypes.h:102
ThreadHandle * waiting
Definition ThreadingTypes.h:101
decaf_mutex_t lock
Definition ThreadingTypes.h:98
char * name
Definition ThreadingTypes.h:96
ThreadHandle * owner
Definition ThreadingTypes.h:100
decaf_mutex_t mutex
Definition ThreadingTypes.h:97
Definition ThreadingTypes.h:62
threadingTask threadMain
Definition ThreadingTypes.h:84
bool suspended
Definition ThreadingTypes.h:80
bool timerSet
Definition ThreadingTypes.h:72
void * threadArg
Definition ThreadingTypes.h:85
bool waiting
Definition ThreadingTypes.h:77
ThreadHandle * interruptingThread
Definition ThreadingTypes.h:88
decaf::lang::Thread * parent
Definition ThreadingTypes.h:63
bool blocked
Definition ThreadingTypes.h:79
long long threadId
Definition ThreadingTypes.h:86
void * tls[DECAF_MAX_TLS_SLOTS]
Definition ThreadingTypes.h:83
bool unparked
Definition ThreadingTypes.h:74
int priority
Definition ThreadingTypes.h:69
bool sleeping
Definition ThreadingTypes.h:76
bool notified
Definition ThreadingTypes.h:78
decaf_mutex_t mutex
Definition ThreadingTypes.h:65
bool osThread
Definition ThreadingTypes.h:87
ThreadHandle * next
Definition ThreadingTypes.h:90
bool canceled
Definition ThreadingTypes.h:73
char * name
Definition ThreadingTypes.h:81
volatile int references
Definition ThreadingTypes.h:68
decaf_thread_t handle
Definition ThreadingTypes.h:64
bool parked
Definition ThreadingTypes.h:75
int numAttached
Definition ThreadingTypes.h:89
long long stackSize
Definition ThreadingTypes.h:82
MonitorHandle * monitor
Definition ThreadingTypes.h:92
bool interrupted
Definition ThreadingTypes.h:70
volatile int state
Definition ThreadingTypes.h:67
ThreadHandle * joiners
Definition ThreadingTypes.h:91
decaf_condition_t condition
Definition ThreadingTypes.h:66
bool interruptible
Definition ThreadingTypes.h:71