A bunch of macros to minimize the amount of platform-specific ifdefs needed throughout the rest of the code. More...
A bunch of macros to minimize the amount of platform-specific ifdefs needed throughout the rest of the code.
When the features this library needs are similar enough to POSIX to be hidden in a one-or-two line replacement, this macro approach is used.
◆ ErrCodeGet the error code for the last failed system function.
Definition at line 377 of file mdb.c.
◆ GET_PAGESIZE #define GET_PAGESIZE ( x ) ((x) = sysconf(_SC_PAGE_SIZE))Get the size of a memory page for the system.
This is the basic size that the platform's memory manager uses, and is fundamental to the use of memory-mapped files.
Definition at line 395 of file mdb.c.
◆ HANDLE ◆ INVALID_HANDLE_VALUE #define INVALID_HANDLE_VALUE (-1)A value for an invalid file handle.
Mainly used to initialize file variables and signify that they are unused.
Definition at line 389 of file mdb.c.
◆ LOCK_MUTEX0 #define LOCK_MUTEX0 ( mutex ) pthread_mutex_lock(mutex) ◆ MDB_DEVELFeatures under development.
Definition at line 230 of file mdb.c.
◆ mdb_func_ #define mdb_func_ "<mdb_unknown>"Wrapper around __func__, which is a C99 feature.
Definition at line 240 of file mdb.c.
◆ mdb_mutex_consistent #define mdb_mutex_consistent ( mutex ) pthread_mutex_consistent(mutex)Mark mutex-protected data as repaired, after death of previous owner.
Definition at line 372 of file mdb.c.
◆ MDB_NO_ROOT ◆ MDB_PIDLOCKFor MDB_LOCK_FORMAT: True if readers take a pid lock in the lockfile.
Definition at line 337 of file mdb.c.
◆ MDB_USE_ROBUSTSome platforms define the EOWNERDEAD error code even though they don't support Robust Mutexes.
Compile with -DMDB_USE_ROBUST=0, or use some other mechanism like -DMDB_USE_POSIX_SEM instead of -DMDB_USE_POSIX_MUTEX. (Posix semaphores are not robust.)
Definition at line 273 of file mdb.c.
◆ MNAME_LEN #define MNAME_LEN (sizeof(pthread_mutex_t))Definition at line 401 of file mdb.c.
◆ THREAD_CREATE #define THREAD_CREATE ( thr, start, arg ) pthread_create(&thr,NULL,start,arg)Definition at line 332 of file mdb.c.
◆ THREAD_FINISH #define THREAD_FINISH ( thr ) pthread_join(thr,NULL)Definition at line 333 of file mdb.c.
◆ THREAD_RET #define THREAD_RET void *Definition at line 331 of file mdb.c.
◆ UNLOCK_MUTEX #define UNLOCK_MUTEX ( mutex ) pthread_mutex_unlock(mutex)Unlock the reader or writer mutex.
Definition at line 369 of file mdb.c.
◆ Zprintf format modifier for size_t
Definition at line 334 of file mdb.c.
◆ mdb_mutex_t typedef pthread_mutex_t mdb_mutex_t[1]Shared mutex/semaphore as the original is stored.
Not for copies. Instead it can be assigned to an mdb_mutexref_t. When mdb_mutexref_t is a pointer and mdb_mutex_t is not, then it is array[size 1] so it can be assigned to the pointer.
Definition at line 360 of file mdb.c.
◆ mdb_mutexref_tRetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4