From 6a22e862589c9d3e42d2d79fdf7e73a62b8145bd Mon Sep 17 00:00:00 2001 From: Christian Brauner Date: Fri, 25 Nov 2016 20:02:24 +0100 Subject: [PATCH] configure: check whether gettid() is declared Signed-off-by: Christian Brauner --- configure.ac | 2 +- src/lxc/log.c | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index cd424c450..2b284cdea 100644 --- a/configure.ac +++ b/configure.ac @@ -628,7 +628,7 @@ AC_CHECK_DECLS([PR_GET_NO_NEW_PRIVS], [], [], [#include ]) AC_CHECK_HEADERS([sys/signalfd.h pty.h ifaddrs.h sys/capability.h sys/personality.h utmpx.h sys/timerfd.h]) # Check for some syscalls functions -AC_CHECK_FUNCS([setns pivot_root sethostname unshare rand_r confstr faccessat]) +AC_CHECK_FUNCS([setns pivot_root sethostname unshare rand_r confstr faccessat gettid]) # Check for some functions AC_CHECK_LIB(pthread, main) diff --git a/src/lxc/log.c b/src/lxc/log.c index a08cc2637..7b89aada9 100644 --- a/src/lxc/log.c +++ b/src/lxc/log.c @@ -45,6 +45,20 @@ #define LXC_LOG_DATEFOMAT_SIZE 15 +#ifndef HAVE_GETTID +static inline pid_t gettid(void) +{ +#ifdef __NR_gettid + return (pid_t)syscall(SYS_gettid); +#else + errno = ENOSYS; + return -1; +#endif +} +#else +extern pid_t gettid(void); +#endif + int lxc_log_fd = -1; static int syslog_enable = 0; int lxc_quiet_specified;