2007-07-19 Mark Probst <mark.probst@gmail.com>
[mono.git] / mono / mini / driver.c
index 2cd63c0c5c60a4138f79f7b55e628c9ac0fa42a4..4d9cabda8e1e623c7587ad1b3e8c5b9a5ccaf10e 100644 (file)
@@ -11,6 +11,9 @@
 
 #include <config.h>
 #include <signal.h>
+#if HAVE_SCHED_SETAFFINITY
+#include <sched.h>
+#endif
 #ifdef HAVE_UNISTD_H
 #include <unistd.h>
 #endif
@@ -695,6 +698,12 @@ mono_main (int argc, char* argv[])
 
        setlocale (LC_ALL, "");
 
+#if HAVE_SCHED_SETAFFINITY
+       if (getenv ("MONO_NO_SMP")) {
+               unsigned long proc_mask = 1;
+               sched_setaffinity (getpid(), sizeof (unsigned long), &proc_mask);
+       }
+#endif
        if (!g_thread_supported ())
                g_thread_init (NULL);