blob: 2b03b1800ad4028a79b37cbf4c648974c7a9eb7d [file] [log] [blame]
Brad Bishop26bdd442019-08-16 17:08:17 -04001From 91c7362834ccd88d1432b3e6c5c51748b72b10ad Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Sat, 27 Jul 2019 07:21:16 -0700
4Subject: [PATCH] Add configure time check for gettid API
5
6glibc 2.30 has added syscalls wrapper for gettid
7it should now be checked during configure if C library provides
8this API then do not define local function
9
10Signed-off-by: Khem Raj <raj.khem@gmail.com>
11---
12 configure.ac | 4 ++++
13 src/base/logtrace.cc | 3 +++
14 src/osaf/config.h.in | 3 +++
15 3 files changed, 10 insertions(+)
16
17diff --git a/configure.ac b/configure.ac
18index 22ab936..90f3da4 100644
19--- a/configure.ac
20+++ b/configure.ac
21@@ -480,6 +480,10 @@ fi
22
23 AC_SUBST([localstatedir])
24
25+#############################################
26+# Checks for functions.
27+#############################################
28+AC_CHECK_FUNCS([ gettid ])
29
30 #############################################
31 # Checks for programs.
32diff --git a/src/base/logtrace.cc b/src/base/logtrace.cc
33index 8908c1f..fe87e8d 100644
34--- a/src/base/logtrace.cc
35+++ b/src/base/logtrace.cc
36@@ -31,6 +31,7 @@
37 #include "base/logtrace_client.h"
38 #include "base/logtrace_buffer.h"
39 #include "base/ncsgl_defs.h"
40+#include "osaf/config.h"
41
42 namespace global {
43
44@@ -58,7 +59,9 @@ std::once_flag init_flag;
45 thread_local LogTraceBuffer gl_thread_buffer{gl_local_thread_trace,
46 global::thread_trace_buffer_size};
47
48+#ifndef HAVE_GETTID
49 static pid_t gettid() { return syscall(SYS_gettid); }
50+#endif
51
52 /**
53 * USR2 signal handler to enable/disable trace (toggle)
54diff --git a/src/osaf/config.h.in b/src/osaf/config.h.in
55index d1f6d1a..0a3f27d 100644
56--- a/src/osaf/config.h.in
57+++ b/src/osaf/config.h.in
58@@ -18,6 +18,9 @@
59 /* Define if experimental code is enabled */
60 #undef HAVE_EXPERIMENTAL
61
62+/* Define to 1 if you have the `gettid' function. */
63+#undef HAVE_GETTID
64+
65 /* SAHPI_INTERFACE_VERSION == A01 */
66 #undef HAVE_HPI_A01
67