]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
cygwin supports the thread cpu affinity code now
authorVictor Julien <victor@inliniac.net>
Fri, 16 Nov 2012 09:57:50 +0000 (10:57 +0100)
committerVictor Julien <victor@inliniac.net>
Fri, 16 Nov 2012 10:03:13 +0000 (11:03 +0100)
src/tm-threads.c

index 8b4fbb142aa4726e0000b48e4be31c8248f766e6..004503f10c83e63a5ba689cc450041e81b403c16 100644 (file)
@@ -1128,23 +1128,14 @@ static int SetCPUAffinitySet(cpu_set_t *cs) {
  */
 static int SetCPUAffinity(uint16_t cpuid)
 {
-#ifndef __CYGWIN__
-#if !defined __OpenBSD__
-    int cpu = (int)cpuid;
-#endif
-
-#ifdef OS_WIN32
-       DWORD cs = 1 << cpu;
-#elif defined __OpenBSD__
+#if defined __OpenBSD__
     return 0;
 #else
-    cpu_set_t cs;
+    int cpu = (int)cpuid;
 
-    CPU_ZERO(&cs);
-    CPU_SET(cpu, &cs);
-#endif /* OS_WIN32 */
+#if defined OS_WIN32 || defined __CYGWIN__
+    DWORD cs = 1 << cpu;
 
-#ifdef OS_WIN32
     int r = (0 == SetThreadAffinityMask(GetCurrentThread(), cs));
     if (r != 0) {
         printf("Warning: sched_setaffinity failed (%" PRId32 "): %s\n", r,
@@ -1155,10 +1146,15 @@ static int SetCPUAffinity(uint16_t cpuid)
                SCGetThreadIdLong(), cpu);
 
     return 0;
-#elif !defined __OpenBSD__
+
+#else
+    cpu_set_t cs;
+
+    CPU_ZERO(&cs);
+    CPU_SET(cpu, &cs);
     return SetCPUAffinitySet(&cs);
-#endif /* OS_WIN32 */
-#endif
+#endif /* windows */
+#endif /* not supported */
 }