23#ifndef INCLUDED_vrpn_Thread_h_GUID_A455652F_72CE_4F8A_859E_543489012D01
24#define INCLUDED_vrpn_Thread_h_GUID_A455652F_72CE_4F8A_859E_543489012D01
34#if defined(sgi) || (defined(_WIN32) && !defined(__CYGWIN__)) || \
35 defined(linux) || defined(__APPLE__)
36#define vrpn_THREADS_AVAILABLE
38#undef vrpn_THREADS_AVAILABLE
55#pragma set woff 1110, 1424, 3201
60#pragma reset woff 1110, 1424, 3201
73 bool reset(
int cNumResources = 1);
107 static usptr_t *ppaArena;
108 static void allocArena();
153 void handleLockResult_(
int result);
211 static bool available();
214 static unsigned number_of_processors();
220 void userData(
void *pvNewUserData);
229 static void threadFuncShell(
void *pvThread);
233 static void *threadFuncShellPosix(
void *pvThread);
An RAII lock/guard class for vrpn_Semaphore.
bool locked() const
Checks to see if we locked.
const try_to_lock_t try_to_lock
Dummy variable to pass to SemaphoreGuard to indicate we only want a conditional lock.
bool vrpn_test_threads_and_semaphores(void)
void(* vrpn_THREAD_FUNC)(vrpn_ThreadData &threadData)
Header to minimally include windows.h.