From 0986cb9379d89d43212bb78c3b2b46e8d4673861 Mon Sep 17 00:00:00 2001 From: Leonid Yuriev Date: Mon, 13 Apr 2020 22:46:55 +0300 Subject: [PATCH] mdbx-posix: fix feature-testing for PTHREAD_MUTEX_ROBUST. Change-Id: I16f008b8448a70d4145ba2bcfe22b3326c8a0e21 --- src/elements/options.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/elements/options.h b/src/elements/options.h index 2694e920..715f883b 100644 --- a/src/elements/options.h +++ b/src/elements/options.h @@ -79,8 +79,10 @@ /* Some platforms define the EOWNERDEAD error code even though they * don't support Robust Mutexes. If doubt compile with -MDBX_LOCKING=2001. */ #if defined(EOWNERDEAD) && _POSIX_THREAD_PROCESS_SHARED >= 200809L && \ - (defined(_POSIX_THREAD_ROBUST_PRIO_INHERIT) || \ - defined(_POSIX_THREAD_ROBUST_PRIO_PROTECT) || \ + ((defined(_POSIX_THREAD_ROBUST_PRIO_INHERIT) && \ + _POSIX_THREAD_ROBUST_PRIO_INHERIT > 0) || \ + (defined(_POSIX_THREAD_ROBUST_PRIO_PROTECT) && \ + _POSIX_THREAD_ROBUST_PRIO_PROTECT > 0) || \ defined(PTHREAD_MUTEX_ROBUST) || defined(PTHREAD_MUTEX_ROBUST_NP)) && \ (!defined(__GLIBC__) || \ __GLIBC_PREREQ(2, 10) /* troubles with Robust mutexes before 2.10 */)