Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a7421586 authored by Adrian Ratiu's avatar Adrian Ratiu Committed by Jim Pollock
Browse files

threads.h: avoid defining gettid on glibc >= 2.32

Glibc >=2.32 exposes a gettid() which clashes with libcutils
thread.h, so add a check to not expose it if building against
newer glibc (ChromiumOS will still use glibc 2.27 besides 2.32).

Bug: https://bugs.chromium.org/p/chromium/issues/detail?id=1182060
Test: Builds without errors on both glibc 2.32 and 2.27.

Change-Id: Ib71fa1bc9fa185e3668002407dbed05a80c87740
parent 3aab3372
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -31,7 +31,9 @@ extern "C" {
//
// Deprecated: use android::base::GetThreadId instead, which doesn't truncate on Mac/Windows.
//
#if !defined(__GLIBC__) || __GLIBC__ >= 2 && __GLIBC_MINOR__ < 32
extern pid_t gettid();
#endif

#ifdef __cplusplus
}
+2 −1
Original line number Diff line number Diff line
@@ -25,8 +25,9 @@
#include <windows.h>
#endif

#if defined(__BIONIC__)
#if defined(__BIONIC__) || defined(__GLIBC__) && __GLIBC_MINOR__ >= 32
// No definition needed for Android because we'll just pick up bionic's copy.
// No definition needed for Glibc >= 2.32 because it exposes its own copy.
#else
pid_t gettid() {
#if defined(__APPLE__)