package/glog: fix build without threads

Fixes:
 - http://autobuild.buildroot.net/results/5320bbe1205e782e3516d9bead8d1ed825bcbaad

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2019.11.x
Fabrice Fontaine 2019-10-29 14:15:43 +01:00 committed by Arnout Vandecappelle (Essensium/Mind)
parent 797736770f
commit 314396b095
1 changed files with 81 additions and 0 deletions

View File

@ -0,0 +1,81 @@
From 5a1857a2b537a95234a6ad40bc382e6e75de45de Mon Sep 17 00:00:00 2001
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Date: Tue, 29 Oct 2019 13:52:34 +0100
Subject: [PATCH] src/utilities: fix build without pthread
Fixes:
- http://autobuild.buildroot.net/results/5320bbe1205e782e3516d9bead8d1ed825bcbaad
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
[Upstream status: not sent yet]
---
src/utilities.cc | 8 +++++++-
src/utilities.h | 2 ++
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/src/utilities.cc b/src/utilities.cc
index 6562a54..8ad0319 100644
--- a/src/utilities.cc
+++ b/src/utilities.cc
@@ -61,7 +61,9 @@ using std::string;
_START_GOOGLE_NAMESPACE_
static const char* g_program_invocation_short_name = NULL;
+#ifdef HAVE_PTHREAD
static pthread_t g_main_thread_id;
+#endif
_END_GOOGLE_NAMESPACE_
@@ -181,6 +183,7 @@ bool IsGoogleLoggingInitialized() {
return g_program_invocation_short_name != NULL;
}
+#ifdef HAVE_PTRHEAD
bool is_default_thread() {
if (g_program_invocation_short_name == NULL) {
// InitGoogleLogging() not yet called, so unlikely to be in a different
@@ -190,6 +193,7 @@ bool is_default_thread() {
return pthread_equal(pthread_self(), g_main_thread_id);
}
}
+#endif
#ifdef OS_WINDOWS
struct timeval {
@@ -276,7 +280,7 @@ pid_t GetTID() {
return getpid(); // Linux: getpid returns thread ID when gettid is absent
#elif defined OS_WINDOWS && !defined OS_CYGWIN
return GetCurrentThreadId();
-#else
+#elif HAVE_PTHREAD
// If none of the techniques above worked, we use pthread_self().
return (pid_t)(uintptr_t)pthread_self();
#endif
@@ -350,7 +354,9 @@ void InitGoogleLoggingUtilities(const char* argv0) {
if (!slash) slash = strrchr(argv0, '\\');
#endif
g_program_invocation_short_name = slash ? slash + 1 : argv0;
+#ifdef HAVE_PTHREAD
g_main_thread_id = pthread_self();
+#endif
#ifdef HAVE_STACKTRACE
InstallFailureFunction(&DumpStackTraceAndExit);
diff --git a/src/utilities.h b/src/utilities.h
index ca21cfb..af969d3 100644
--- a/src/utilities.h
+++ b/src/utilities.h
@@ -163,7 +163,9 @@ const char* ProgramInvocationShortName();
bool IsGoogleLoggingInitialized();
+#ifdef HAVE_PTHREAD
bool is_default_thread();
+#endif
int64 CycleClock_Now();
--
2.23.0