summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.ac2
-rw-r--r--src/i_main.c96
2 files changed, 1 insertions, 97 deletions
diff --git a/configure.ac b/configure.ac
index 8aef46fb..3e767faf 100644
--- a/configure.ac
+++ b/configure.ac
@@ -93,7 +93,7 @@ AC_SDL_MAIN_WORKAROUND([
AC_CHECK_LIB(m, log)
AC_CHECK_HEADERS([linux/kd.h dev/isa/spkrio.h dev/speaker/speaker.h])
- AC_CHECK_FUNCS(mmap sched_setaffinity ioperm)
+ AC_CHECK_FUNCS(mmap ioperm)
# OpenBSD I/O i386 library for I/O port access.
# (64 bit has the same thing with a different name!)
diff --git a/src/i_main.c b/src/i_main.c
index 7d1d960d..7bbccc88 100644
--- a/src/i_main.c
+++ b/src/i_main.c
@@ -34,97 +34,6 @@
void D_DoomMain (void);
-#if defined(_WIN32_WCE)
-
-// Windows CE? I doubt it even supports SMP..
-
-static void LockCPUAffinity(void)
-{
-}
-
-#elif defined(_WIN32)
-
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
-
-typedef BOOL (WINAPI *SetAffinityFunc)(HANDLE hProcess, DWORD mask);
-
-// This is a bit more complicated than it really needs to be. We really
-// just need to call the SetProcessAffinityMask function, but that
-// function doesn't exist on systems before Windows 2000. Instead,
-// dynamically look up the function and call the pointer to it. This
-// way, the program will run on older versions of Windows (Win9x, etc.)
-
-static void LockCPUAffinity(void)
-{
- HMODULE kernel32_dll;
- SetAffinityFunc SetAffinity;
-
- // Find the kernel interface DLL.
-
- kernel32_dll = LoadLibrary("kernel32.dll");
-
- if (kernel32_dll == NULL)
- {
- // This should never happen...
-
- fprintf(stderr, "Failed to load kernel32.dll\n");
- return;
- }
- // Find the SetProcessAffinityMask function.
-
- SetAffinity = (SetAffinityFunc)GetProcAddress(kernel32_dll, "SetProcessAffinityMask");
-
- // If the function was not found, we are on an old (Win9x) system
- // that doesn't have this function. That's no problem, because
- // those systems don't support SMP anyway.
-
- if (SetAffinity != NULL)
- {
- if (!SetAffinity(GetCurrentProcess(), 1))
- {
- fprintf(stderr, "Failed to set process affinity (%d)\n",
- (int) GetLastError());
- }
- }
-}
-
-#elif defined(HAVE_SCHED_SETAFFINITY)
-
-#include <unistd.h>
-#include <sched.h>
-
-// 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
-
-#warning No known way to set processor affinity on this platform.
-#warning You may experience crashes due to SDL_mixer.
-
-static void LockCPUAffinity(void)
-{
- fprintf(stderr,
- "WARNING: No known way to set processor affinity on this platform.\n"
- " You may experience crashes due to SDL_mixer.\n");
-}
-
-#endif
-
int main(int argc, char **argv)
{
// save arguments
@@ -132,11 +41,6 @@ int main(int argc, char **argv)
myargc = argc;
myargv = argv;
- // Only schedule on a single core, if we have multiple
- // cores. This is to work around a bug in SDL_mixer.
-
- LockCPUAffinity();
-
M_FindResponseFile();
// start doom