From e2e1069332289a714ebebc71db225510c6d8ebff Mon Sep 17 00:00:00 2001 From: Simon Howard Date: Sat, 14 Mar 2009 15:28:41 +0000 Subject: Add check to allow sched_setaffinity code to work on older versions of libc. Subversion-branch: /trunk/chocolate-doom Subversion-revision: 1470 --- src/i_main.c | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) (limited to 'src/i_main.c') diff --git a/src/i_main.c b/src/i_main.c index 7c5b16e7..3a9ec696 100644 --- a/src/i_main.c +++ b/src/i_main.c @@ -29,18 +29,6 @@ #include "SDL.h" -#include - -#ifdef _WIN32 -#define WIN32_LEAN_AND_MEAN -#include -#endif - -#ifdef HAVE_SCHED_SETAFFINITY -#include -#include -#endif - #include "doomdef.h" #include "i_system.h" #include "m_argv.h" @@ -48,6 +36,9 @@ #if defined(_WIN32) +#define WIN32_LEAN_AND_MEAN +#include + typedef BOOL WINAPI (*SetAffinityFunc)(HANDLE hProcess, DWORD_PTR mask); // This is a bit more complicated than it really needs to be. We really @@ -93,16 +84,24 @@ static void LockCPUAffinity(void) #elif defined(HAVE_SCHED_SETAFFINITY) +#include +#include + // Unix (Linux) version: static void LockCPUAffinity(void) { +#ifdef CPU_SET cpu_set_t set; CPU_ZERO(&set); CPU_SET(0, &set); sched_setaffinity(getpid(), sizeof(set), &set); +#else + unsigned long mask = 1; + sched_setaffinity(getpid(), sizeof(mask), &mask); +#endif } #else -- cgit v1.2.3