|
|
@ -238,25 +238,25 @@ typedef SSIZE_T ssize_t; |
|
|
|
#define MDB_OWNERDEAD EOWNERDEAD /**< #LOCK_MUTEX0() result if dead owner */ |
|
|
|
#define MDB_OWNERDEAD EOWNERDEAD /**< #LOCK_MUTEX0() result if dead owner */ |
|
|
|
#endif |
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
/* 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
|
|
|
|
/** Some platforms define the EOWNERDEAD error code
|
|
|
|
* even though they don't support Robust Mutexes. |
|
|
|
* even though they don't support Robust Mutexes. |
|
|
|
* Compile with -DMDB_NO_ROBUST, or use some other |
|
|
|
* Compile with -DMDB_USE_ROBUST=0, or use some other |
|
|
|
* mechanism like -DMDB_USE_SYSV_SEM instead of |
|
|
|
* mechanism like -DMDB_USE_SYSV_SEM instead of |
|
|
|
* -DMDB_USE_POSIX_MUTEX. (SysV semaphores are |
|
|
|
* -DMDB_USE_POSIX_MUTEX. (SysV semaphores are |
|
|
|
* also Robust, but some systems don't support them |
|
|
|
* also Robust, but some systems don't support them |
|
|
|
* either.) |
|
|
|
* either.) |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
|
|
|
|
#ifndef MDB_USE_ROBUST |
|
|
|
#ifndef MDB_NO_ROBUST |
|
|
|
/* Android currently lacks Robust Mutex support */ |
|
|
|
#define MDB_NO_ROBUST 0 |
|
|
|
#if defined(ANDROID) && defined(MDB_USE_POSIX_MUTEX) && !defined(MDB_USE_ROBUST) |
|
|
|
|
|
|
|
#define MDB_USE_ROBUST 0 |
|
|
|
|
|
|
|
#else |
|
|
|
|
|
|
|
#define MDB_USE_ROBUST 1 |
|
|
|
#endif |
|
|
|
#endif |
|
|
|
|
|
|
|
#endif /* MDB_USE_ROBUST */ |
|
|
|
|
|
|
|
|
|
|
|
#if defined(MDB_OWNERDEAD) && !(MDB_NO_ROBUST) |
|
|
|
#if defined(MDB_OWNERDEAD) && MDB_USE_ROBUST |
|
|
|
#define MDB_ROBUST_SUPPORTED 1 |
|
|
|
#define MDB_ROBUST_SUPPORTED 1 |
|
|
|
#endif |
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|