diff --git a/configure.ac b/configure.ac index 7d0a3f94b3..e1956c2992 100644 --- a/configure.ac +++ b/configure.ac @@ -218,6 +218,14 @@ esac AC_MSG_RESULT(ok) + # check if our target supports thread local storage + AC_MSG_CHECKING(for thread local storage __thread support) + AC_TRY_COMPILE([#include ], + [ void somefunc (void) { static __thread int i; i = 1; i++; } ], + [AC_DEFINE([TLS], [1], [Thread local storage]) + AC_MSG_RESULT([yes]) ], + [AC_MSG_RESULT([no])]) + #Enable support for gcc compile time security options. There is no great way to do detection of valid cflags that I have found #AX_CFLAGS_GCC_OPTION don't seem to do a better job than the code below and are a pain because of extra m4 files etc. #These flags seem to be supported on CentOS 5+, Ubuntu 8.04+, and FedoreCore 11+ diff --git a/src/util-time.c b/src/util-time.c index f040dfaca6..b0d6cc9245 100644 --- a/src/util-time.c +++ b/src/util-time.c @@ -124,7 +124,7 @@ void TimeSetIncrementTime(uint32_t tv_sec) * Time Caching code */ -#if defined(__OpenBSD__) +#ifndef TLS /* OpenBSD does not support __thread, so don't use time caching on BSD */ struct tm *SCLocalTime(time_t timep, struct tm *result)