mirror of
https://github.com/apache/httpd.git
synced 2025-07-25 17:01:22 +00:00
On Linux use the real thread id via gettid() in error logging,
where available, rather than the (meaningless) default pthread_self()-as-integer interpretation: * configure.in: Define DEFAULT_LOG_TID on Linux if gettid() is available. * server/log.c: Define DEFAULT_LOG_TID as NULL by default. (do_errorlog_default): Use DEFAULT_LOG_TID as the argument to log_tid(). Github: closes #443 git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1917578 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
1
changes-entries/linux-log-tid.txt
Normal file
1
changes-entries/linux-log-tid.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
*) core: On Linux, log the real thread ID in error logs. [Joe Orton]
|
@ -562,6 +562,12 @@ pid_t t = syscall(SYS_gettid); return t == -1 ? 1 : 0; },
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
case ${host}X${ac_cv_func_gettid}X${ap_cv_gettid} in
|
||||||
|
*linux-*XyesX* | *linux-*XnoXyes)
|
||||||
|
AC_DEFINE(DEFAULT_LOG_TID, ["g"], [Define as default argument for thread id in error logging])
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
dnl ## Check for the tm_gmtoff field in struct tm to get the timezone diffs
|
dnl ## Check for the tm_gmtoff field in struct tm to get the timezone diffs
|
||||||
AC_CACHE_CHECK([for tm_gmtoff in struct tm], ac_cv_struct_tm_gmtoff,
|
AC_CACHE_CHECK([for tm_gmtoff in struct tm], ac_cv_struct_tm_gmtoff,
|
||||||
[AC_TRY_COMPILE([#include <sys/types.h>
|
[AC_TRY_COMPILE([#include <sys/types.h>
|
||||||
|
@ -69,6 +69,10 @@
|
|||||||
#undef APLOG_MODULE_INDEX
|
#undef APLOG_MODULE_INDEX
|
||||||
#define APLOG_MODULE_INDEX AP_CORE_MODULE_INDEX
|
#define APLOG_MODULE_INDEX AP_CORE_MODULE_INDEX
|
||||||
|
|
||||||
|
#ifndef DEFAULT_LOG_TID
|
||||||
|
#define DEFAULT_LOG_TID NULL
|
||||||
|
#endif
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
const char *t_name;
|
const char *t_name;
|
||||||
int t_val;
|
int t_val;
|
||||||
@ -907,7 +911,7 @@ static int do_errorlog_default(const ap_errorlog_info *info, char *buf,
|
|||||||
#if APR_HAS_THREADS
|
#if APR_HAS_THREADS
|
||||||
field_start = len;
|
field_start = len;
|
||||||
len += cpystrn(buf + len, ":tid ", buflen - len);
|
len += cpystrn(buf + len, ":tid ", buflen - len);
|
||||||
item_len = log_tid(info, NULL, buf + len, buflen - len);
|
item_len = log_tid(info, DEFAULT_LOG_TID, buf + len, buflen - len);
|
||||||
if (!item_len)
|
if (!item_len)
|
||||||
len = field_start;
|
len = field_start;
|
||||||
else
|
else
|
||||||
|
Reference in New Issue
Block a user