From e01092a0da3559a8c8c28312388ef9b416319aae Mon Sep 17 00:00:00 2001 From: Chris Robinson Date: Tue, 20 Sep 2011 14:36:42 -0700 Subject: Move Sleep implementation into helper.c and emulate sched_yield for Windows --- OpenAL32/Include/alMain.h | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) (limited to 'OpenAL32/Include') diff --git a/OpenAL32/Include/alMain.h b/OpenAL32/Include/alMain.h index 719354f2..558f620b 100644 --- a/OpenAL32/Include/alMain.h +++ b/OpenAL32/Include/alMain.h @@ -183,6 +183,9 @@ typedef LONG pthread_once_t; #define PTHREAD_ONCE_INIT 0 void pthread_once(pthread_once_t *once, void (*callback)(void)); +static __inline int sched_yield(void) +{ SwitchToThread(); return 0; } + #else #include @@ -204,16 +207,7 @@ void EnterCriticalSection(CRITICAL_SECTION *cs); void LeaveCriticalSection(CRITICAL_SECTION *cs); ALuint timeGetTime(void); - -static __inline void Sleep(ALuint t) -{ - struct timespec tv, rem; - tv.tv_nsec = (t*1000000)%1000000000; - tv.tv_sec = t/1000; - - while(nanosleep(&tv, &rem) == -1 && errno == EINTR) - tv = rem; -} +void Sleep(ALuint t); #if defined(HAVE_DLFCN_H) #define HAVE_DYNLOAD 1 -- cgit v1.2.3