diff options
Diffstat (limited to 'server')
-rw-r--r-- | server/log.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/server/log.c b/server/log.c index 89e1679fed..6295f1a89c 100644 --- a/server/log.c +++ b/server/log.c @@ -61,6 +61,10 @@ #include <sys/types.h> #endif +#ifdef HAVE_PTHREAD_NP_H +#include <pthread_np.h> +#endif + /* we know core's module_index is 0 */ #undef APLOG_MODULE_INDEX #define APLOG_MODULE_INDEX AP_CORE_MODULE_INDEX @@ -538,10 +542,12 @@ static int log_tid(const ap_errorlog_info *info, const char *arg, #if APR_HAS_THREADS int result; #endif -#if defined(HAVE_GETTID) || defined(HAVE_SYS_GETTID) +#if defined(HAVE_GETTID) || defined(HAVE_SYS_GETTID) || defined(HAVE_PTHREAD_GETTHREADID_NP) if (arg && *arg == 'g') { -#ifdef HAVE_GETTID +#if defined(HAVE_GETTID) pid_t tid = gettid(); +#elif defined(HAVE_PTHREAD_GETTHREADID_NP) + pid_t tid = pthread_getthreadid_np(); #else pid_t tid = syscall(SYS_gettid); #endif |