mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-01-18 11:05:48 +08:00
Add MDB_NO_ROBUST to disable Robust Mutexes
This commit is contained in:
parent
550df2a583
commit
447f552756
@ -13,6 +13,7 @@
|
||||
# - MDB_FDATASYNC
|
||||
# - MDB_FDATASYNC_WORKS
|
||||
# - MDB_USE_PWRITEV
|
||||
# - MDB_NO_ROBUST
|
||||
#
|
||||
# There may be other macros in mdb.c of interest. You should
|
||||
# read mdb.c before changing any of them.
|
||||
|
@ -238,7 +238,25 @@ typedef SSIZE_T ssize_t;
|
||||
#define MDB_OWNERDEAD EOWNERDEAD /**< #LOCK_MUTEX0() result if dead owner */
|
||||
#endif
|
||||
|
||||
#ifdef MDB_OWNERDEAD
|
||||
/* Android currently lacks Robust Mutex support */
|
||||
#if defined(ANDROID) && defined(MDB_USE_POSIX_MUTEX)
|
||||
#define MDB_NO_ROBUST 1
|
||||
#endif
|
||||
|
||||
/** Some platforms define the EOWNERDEAD error code
|
||||
* even though they don't support Robust Mutexes.
|
||||
* Compile with -DMDB_NO_ROBUST, or use some other
|
||||
* mechanism like -DMDB_USE_SYSV_SEM instead of
|
||||
* -DMDB_USE_POSIX_MUTEX. (SysV semaphores are
|
||||
* also Robust, but some systems don't support them
|
||||
* either.)
|
||||
*/
|
||||
|
||||
#ifndef MDB_NO_ROBUST
|
||||
#define MDB_NO_ROBUST 0
|
||||
#endif
|
||||
|
||||
#if defined(MDB_OWNERDEAD) && !(MDB_NO_ROBUST)
|
||||
#define MDB_ROBUST_SUPPORTED 1
|
||||
#endif
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user