77cccac8cd
This is part of a broader change to make header files better represent the dependencies between one another (see https://github.com/jemalloc/jemalloc/issues/533). It breaks up component headers into smaller parts that can be made to have a simpler dependency graph. For the autogenerated headers (smoothstep.h and size_classes.h), no splitting was necessary, so I didn't add support to emit multiple headers.
25 lines
540 B
C
25 lines
540 B
C
#ifndef JEMALLOC_INTERNAL_MUTEX_STRUCTS_H
|
|
#define JEMALLOC_INTERNAL_MUTEX_STRUCTS_H
|
|
|
|
struct malloc_mutex_s {
|
|
#ifdef _WIN32
|
|
# if _WIN32_WINNT >= 0x0600
|
|
SRWLOCK lock;
|
|
# else
|
|
CRITICAL_SECTION lock;
|
|
# endif
|
|
#elif (defined(JEMALLOC_OS_UNFAIR_LOCK))
|
|
os_unfair_lock lock;
|
|
#elif (defined(JEMALLOC_OSSPIN))
|
|
OSSpinLock lock;
|
|
#elif (defined(JEMALLOC_MUTEX_INIT_CB))
|
|
pthread_mutex_t lock;
|
|
malloc_mutex_t *postponed_next;
|
|
#else
|
|
pthread_mutex_t lock;
|
|
#endif
|
|
witness_t witness;
|
|
};
|
|
|
|
#endif /* JEMALLOC_INTERNAL_MUTEX_STRUCTS_H */
|