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 123 return this->operator()();
MonitorHandle * next
Definition: ThreadingTypes.h:104
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
virtual ~CompletionCondition()
Definition: ThreadingTypes.h:110
bool notified
Definition: ThreadingTypes.h:78
Definition: ThreadingTypes.h:107
bool parked
Definition: ThreadingTypes.h:75
bool unparked
Definition: ThreadingTypes.h:74
volatile int state
Definition: ThreadingTypes.h:67
long long threadId
Definition: ThreadingTypes.h:86
int priority
Definition: ThreadingTypes.h:69
bool canceled
Definition: ThreadingTypes.h:73
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
Definition: ThreadingTypes.h:95
bool suspended
Definition: ThreadingTypes.h:80
bool timerSet
Definition: ThreadingTypes.h:72
#define DECAF_MAX_TLS_SLOTS
Max number of TLS keys that a thread can use.
Definition: ThreadingTypes.h:41
virtual bool operator()()
Called from non-timed wait conditions to determine if the condition necessary to complete the wait ha...
Definition: ThreadingTypes.h:130
ThreadHandle * blocking
Definition: ThreadingTypes.h:102
void * PLATFORM_THREAD_ENTRY_ARG
Definition: PlatformDefs.h:50
decaf::lang::Thread * parent
Definition: ThreadingTypes.h:63
bool initialized
Definition: ThreadingTypes.h:103
ThreadHandle * interruptingThread
Definition: ThreadingTypes.h:88
volatile int references
Definition: ThreadingTypes.h:68
MonitorHandle * monitor
Definition: ThreadingTypes.h:92
int numAttached
Definition: ThreadingTypes.h:89
decaf_mutex_t mutex
Definition: ThreadingTypes.h:97
long long stackSize
Definition: ThreadingTypes.h:82
void * threadArg
Definition: ThreadingTypes.h:85
pthread_mutex_t * decaf_mutex_t
Definition: PlatformDefs.h:59
pthread_t decaf_thread_t
Definition: PlatformDefs.h:56
decaf_mutex_t lock
Definition: ThreadingTypes.h:98
char * name
Definition: ThreadingTypes.h:81
bool waiting
Definition: ThreadingTypes.h:77
bool blocked
Definition: ThreadingTypes.h:79
ThreadHandle * joiners
Definition: ThreadingTypes.h:91
bool sleeping
Definition: ThreadingTypes.h:76
pthread_cond_t * decaf_condition_t
Definition: PlatformDefs.h:58
bool interrupted
Definition: ThreadingTypes.h:70
A Thread is a concurrent unit of execution.
Definition: Thread.h:64
bool interruptible
Definition: ThreadingTypes.h:71
decaf_mutex_t mutex
Definition: ThreadingTypes.h:65
unsigned int count
Definition: ThreadingTypes.h:99
ThreadHandle * owner
Definition: ThreadingTypes.h:100
#define DECAF_UNUSED
Definition: Config.h:160
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, the PlatformThread methods will handle calling this method and providing it with its assigned arg.
Definition: ThreadingTypes.h:51
ThreadHandle * next
Definition: ThreadingTypes.h:90
decaf_thread_t handle
Definition: ThreadingTypes.h:64
ThreadHandle * waiting
Definition: ThreadingTypes.h:101
bool osThread
Definition: ThreadingTypes.h:87
char * name
Definition: ThreadingTypes.h:96
decaf_condition_t condition
Definition: ThreadingTypes.h:66
Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements...
Definition: AprPool.h:25
Definition: ThreadingTypes.h:62
threadingTask threadMain
Definition: ThreadingTypes.h:84