38#if (CISST_OS == CISST_WINDOWS)
43#if (CISST_OS == CISST_LINUX) || (CISST_OS == CISST_DARWIN)
80 enum {INTERNALS_SIZE = 8};
81 char Internals[INTERNALS_SIZE];
89 static unsigned int SizeOfInternals(
void);
110 return this->
Equal(other);
115 return !this->
Equal(other);
119#if (CISST_OS == CISST_LINUX_RTAI) || (CISST_OS == CISST_LINUX) || (CISST_OS == CISST_SOLARIS) || (CISST_OS == CISST_QNX) || (CISST_OS == CISST_WINDOWS)
174 enum { INTERNALS_SIZE = 96 };
175 char Internals[INTERNALS_SIZE];
179 static unsigned int SizeOfInternals(
void);
219 const char * name = 0,
int priority = 0,
int policy =
SCHED_FIFO)
227 template <
class _userDataType>
228 void Create(
void * (*threadStart)(_userDataType),
229 _userDataType userData = _userDataType(),
230 const char * name = 0,
int priority = 0,
int policy =
SCHED_FIFO)
240 template <
class _entryType,
class _userDataType>
241 void Create(_entryType * obj,
void * (_entryType::*threadStart)(_userDataType),
242 _userDataType userData = _userDataType(),
243 const char * name = 0,
int priority = 0,
int policy =
SCHED_FIFO)
252 CreateInternal(name, (
void *)adapter_t::CallbackAndDestroy, (
void *)adapter_t::Create(obj, threadStart, userData));
267 const char * name = 0,
int priority = 0,
int policy =
SCHED_FIFO)
289 inline void WaitForWakeup(
double timeoutInSec) { Signal.Wait(timeoutInSec); }
292 inline void Wakeup(
void) { Signal.Raise(); }
295 inline const char *
GetName(
void)
const {
return Name; }
330 inline bool IsValid(
void)
const {
return Valid; }
void CreateFromThreadId(const osaThreadId &threadId, const char *name=0, int priority=0, int policy=SCHED_FIFO)
Definition osaThread.h:266
const char * GetName(void) const
Definition osaThread.h:295
bool IsRunning(void) const
Definition osaThread.h:327
PriorityType GetPriority(void) const
void Create(_entryType *obj, void *(_entryType::*threadStart)(_userDataType), _userDataType userData=_userDataType(), const char *name=0, int priority=0, int policy=SCHED_FIFO)
Definition osaThread.h:241
friend class osaThreadTest
Definition osaThread.h:180
void SetSchedulingPolicy(SchedulingPolicyType policy)
void Wakeup(void)
Definition osaThread.h:292
void SetThreadName(const char *name)
void Create(void *(*threadStart)(_userDataType), _userDataType userData=_userDataType(), const char *name=0, int priority=0, int policy=SCHED_FIFO)
Definition osaThread.h:228
void WaitForWakeup(double timeoutInSec)
Definition osaThread.h:289
SchedulingPolicyType GetSchedulingPolicy(void)
void CreateFromCurrentThread(const char *name=0, int priority=0, int policy=SCHED_FIFO)
Definition osaThread.h:257
osaThreadId GetId(void) const
Definition osaThread.h:298
void Create(void *(*threadStart)(void), const char *name=0, int priority=0, int policy=SCHED_FIFO)
Definition osaThread.h:218
void CreateInternal(const char *name, void *func, void *userdata)
void WaitForWakeup(void)
Definition osaThread.h:286
bool IsValid(void) const
Definition osaThread.h:330
void Sleep(double timeInSeconds)
void SetPriority(PriorityType priority)
ThreadId type.
Definition osaThread.h:77
friend class osaThread
Definition osaThread.h:85
void ToStream(std::ostream &outputStream) const
friend class osaThreadTest
Definition osaThread.h:90
bool Equal(const osaThreadId &other) const
friend CISST_EXPORT osaThreadId osaGetCurrentThreadId(void)
bool IsValid(void) const
Definition osaThread.h:103
Definition osaThreadSignal.h:41
#define CISST_EXPORT
Definition cmnExportMacros.h:50
Portability across compilers and operating systems tools.
Macros to export the symbols of cisstOSAbstraction (in a Dll).
int PriorityType
PriorityType and SchedulingPolicyType.
Definition osaThread.h:55
std::ostream & operator<<(std::ostream &output, const osaThreadId &threadId)
Definition osaThread.h:138
int SchedulingPolicyType
SchedulingPolicyType. For now SchedulingPolicy is typedef'ed to int.
Definition osaThread.h:62
CISST_EXPORT osaThreadId osaGetCurrentThreadId(void)
#define SCHED_FIFO
Definition osaThread.h:39
CISST_EXPORT void osaCurrentThreadYield(void)
Defines a thread adapter.
Declaration of osaThreadSignal.
Definition osaThreadAdapter.h:85
bool operator==(const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &otherMatrix) const
Definition vctDynamicConstMatrixBase.h:715
bool operator!=(const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &otherMatrix) const
Definition vctDynamicConstMatrixBase.h:743
const_reference operator()(size_type rowIndex, size_type colIndex) const CISST_THROW(std
Definition vctDynamicConstMatrixBase.h:352