diff options
author | Jon Turney <jon.turney@dronecode.org.uk> | 2010-02-18 21:03:20 -0600 |
---|---|---|
committer | Jon Turney <jon.turney@dronecode.org.uk> | 2017-01-16 16:04:06 +0000 |
commit | 89b304ebb60179b4d7cf9cb0ce1b6a297a5067b8 (patch) | |
tree | 881bec5de8518d55eebb2c4ae5103c19a67b6adc | |
parent | 4c32db30a3651229dbc4733438d9b67f5c71c1c3 (diff) |
Disable smart scheduler by default on Cygwin
The smart scheduler firing SIGALRM every 20ms causes problems on Cygwin.
Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
Reviewed-by: Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
-rw-r--r-- | dix/dispatch.c | 4 | ||||
-rw-r--r-- | os/utils.c | 6 |
2 files changed, 10 insertions, 0 deletions
diff --git a/dix/dispatch.c b/dix/dispatch.c index 3d0fe26fd..32971bdb0 100644 --- a/dix/dispatch.c +++ b/dix/dispatch.c @@ -222,9 +222,13 @@ UpdateCurrentTimeIf(void) #define SMART_SCHEDULE_MAX_SLICE 15 #ifdef HAVE_SETITIMER +#if defined(WIN32) || defined(__CYGWIN__) +Bool SmartScheduleSignalEnable = FALSE; +#else #define SMART_SCHEDULE_DEFAULT_SIGNAL_ENABLE HAVE_SETITIMER Bool SmartScheduleSignalEnable = SMART_SCHEDULE_DEFAULT_SIGNAL_ENABLE; #endif +#endif long SmartScheduleSlice = SMART_SCHEDULE_DEFAULT_INTERVAL; long SmartScheduleInterval = SMART_SCHEDULE_DEFAULT_INTERVAL; diff --git a/os/utils.c b/os/utils.c index 5cd15b7ea..ddcd482e1 100644 --- a/os/utils.c +++ b/os/utils.c @@ -1019,6 +1019,9 @@ ProcessCommandLine(int argc, char *argv[]) } else if (strcmp(argv[i], "-schedInterval") == 0) { if (++i < argc) { +#if HAVE_SETITIMER + SmartScheduleSignalEnable = TRUE; +#endif SmartScheduleInterval = atoi(argv[i]); SmartScheduleSlice = SmartScheduleInterval; } @@ -1027,6 +1030,9 @@ ProcessCommandLine(int argc, char *argv[]) } else if (strcmp(argv[i], "-schedMax") == 0) { if (++i < argc) { +#if HAVE_SETITIMER + SmartScheduleSignalEnable = TRUE; +#endif SmartScheduleMaxSlice = atoi(argv[i]); } else |