Fixes for building in Cygwin.

remotes/origin/master-1.1.x
Victor Julien 14 years ago
parent 85033f5afe
commit 1be65e7b68

@ -68,8 +68,10 @@
#ifdef HAVE_SYSLOG_H #ifdef HAVE_SYSLOG_H
#include <syslog.h> #include <syslog.h>
#elif OS_WIN32 #else
#ifdef OS_WIN32
#include "win32-syslog.h" #include "win32-syslog.h"
#endif /* OS_WIN32 */
#endif /* HAVE_SYSLOG_H */ #endif /* HAVE_SYSLOG_H */
#ifdef OS_WIN32 #ifdef OS_WIN32

@ -109,6 +109,11 @@ enum {
u_long tid = (u_long)tpid; \ u_long tid = (u_long)tpid; \
tid; \ tid; \
}) })
#elif __CYGWIN__
#define SCGetThreadIdLong(...) ({ \
u_long tid = (u_long)GetCurrentThreadId(); \
tid; \
})
#elif OS_WIN32 #elif OS_WIN32
#define SCGetThreadIdLong(...) ({ \ #define SCGetThreadIdLong(...) ({ \
u_long tid = (u_long)GetCurrentThreadId(); \ u_long tid = (u_long)GetCurrentThreadId(); \

@ -878,9 +878,9 @@ TmSlot *TmSlotGetSlotForTM(int tm_id)
return NULL; return NULL;
} }
#if !defined OS_WIN32 && !defined __OpenBSD__ #if !defined __CYGWIN__ && !defined OS_WIN32 && !defined __OpenBSD__
static int SetCPUAffinitySet(cpu_set_t *cs) { static int SetCPUAffinitySet(cpu_set_t *cs) {
#if defined OS_FREEBSD #if defined OS_FREEBSD
int r = cpuset_setaffinity(CPU_LEVEL_WHICH, CPU_WHICH_TID, int r = cpuset_setaffinity(CPU_LEVEL_WHICH, CPU_WHICH_TID,
SCGetThreadIdLong(), sizeof(cpu_set_t),cs); SCGetThreadIdLong(), sizeof(cpu_set_t),cs);
#elif OS_DARWIN #elif OS_DARWIN
@ -911,6 +911,7 @@ static int SetCPUAffinitySet(cpu_set_t *cs) {
*/ */
static int SetCPUAffinity(uint16_t cpuid) static int SetCPUAffinity(uint16_t cpuid)
{ {
#ifndef __CYGWIN__
#if !defined __OpenBSD__ #if !defined __OpenBSD__
int cpu = (int)cpuid; int cpu = (int)cpuid;
#endif #endif
@ -940,6 +941,7 @@ static int SetCPUAffinity(uint16_t cpuid)
#elif !defined __OpenBSD__ #elif !defined __OpenBSD__
return SetCPUAffinitySet(&cs); return SetCPUAffinitySet(&cs);
#endif /* OS_WIN32 */ #endif /* OS_WIN32 */
#endif
} }
@ -964,6 +966,7 @@ TmEcode TmThreadSetThreadPriority(ThreadVars *tv, int prio)
void TmThreadSetPrio(ThreadVars *tv) void TmThreadSetPrio(ThreadVars *tv)
{ {
SCEnter(); SCEnter();
#ifndef __CYGWIN__
#ifdef OS_WIN32 #ifdef OS_WIN32
if (0 == SetThreadPriority(GetCurrentThread(), tv->thread_priority)) { if (0 == SetThreadPriority(GetCurrentThread(), tv->thread_priority)) {
SCLogError(SC_ERR_THREAD_NICE_PRIO, "Error setting priority for " SCLogError(SC_ERR_THREAD_NICE_PRIO, "Error setting priority for "
@ -982,6 +985,7 @@ void TmThreadSetPrio(ThreadVars *tv)
tv->thread_priority, tv->name); tv->thread_priority, tv->name);
} }
#endif /* OS_WIN32 */ #endif /* OS_WIN32 */
#endif
SCReturn; SCReturn;
} }
@ -1044,7 +1048,7 @@ TmEcode TmThreadSetupOptions(ThreadVars *tv)
SetCPUAffinity(tv->cpu_affinity); SetCPUAffinity(tv->cpu_affinity);
} }
#if !defined OS_WIN32 && !defined __OpenBSD__ #if !defined __CYGWIN__ && !defined OS_WIN32 && !defined __OpenBSD__
if (tv->thread_setup_flags & THREAD_SET_PRIORITY) if (tv->thread_setup_flags & THREAD_SET_PRIORITY)
TmThreadSetPrio(tv); TmThreadSetPrio(tv);
if (tv->thread_setup_flags & THREAD_SET_AFFTYPE) { if (tv->thread_setup_flags & THREAD_SET_AFFTYPE) {

@ -97,7 +97,7 @@ ThreadsAffinityType * GetAffinityTypeFromName(const char *name) {
return NULL; return NULL;
} }
#if !defined OS_WIN32 && !defined __OpenBSD__ #if !defined __CYGWIN__ && !defined OS_WIN32 && !defined __OpenBSD__
static void AffinitySetupInit() static void AffinitySetupInit()
{ {
int i, j; int i, j;
@ -187,7 +187,7 @@ static void build_cpuset(char *name, ConfNode *node, cpu_set_t *cpu)
void AffinitySetupLoadFromConfig() void AffinitySetupLoadFromConfig()
{ {
#if !defined OS_WIN32 && !defined __OpenBSD__ #if !defined __CYGWIN__ && !defined OS_WIN32 && !defined __OpenBSD__
ConfNode *root = ConfGetNode("threading.cpu_affinity"); ConfNode *root = ConfGetNode("threading.cpu_affinity");
ConfNode *affinity; ConfNode *affinity;
@ -293,7 +293,7 @@ int AffinityGetNextCPU(ThreadsAffinityType *taf)
{ {
int ncpu = 0; int ncpu = 0;
#if !defined OS_WIN32 && !defined __OpenBSD__ #if !defined __CYGWIN__ && !defined OS_WIN32 && !defined __OpenBSD__
int iter = 0; int iter = 0;
SCMutexLock(&taf->taf_mutex); SCMutexLock(&taf->taf_mutex);
ncpu = taf->lcpu; ncpu = taf->lcpu;

@ -66,13 +66,13 @@ enum {
typedef struct ThreadsAffinityType_ { typedef struct ThreadsAffinityType_ {
char *name; char *name;
#if !defined OS_WIN32 && !defined __OpenBSD__ #if !defined __CYGWIN__ && !defined OS_WIN32 && !defined __OpenBSD__
cpu_set_t cpu_set; cpu_set_t cpu_set;
#endif #endif
uint8_t mode_flag; uint8_t mode_flag;
int prio; int prio;
int nb_threads; int nb_threads;
#if !defined OS_WIN32 && !defined __OpenBSD__ #if !defined __CYGWIN__ && !defined OS_WIN32 && !defined __OpenBSD__
cpu_set_t lowprio_cpu; cpu_set_t lowprio_cpu;
cpu_set_t medprio_cpu; cpu_set_t medprio_cpu;
cpu_set_t hiprio_cpu; cpu_set_t hiprio_cpu;

Loading…
Cancel
Save