diff options
Diffstat (limited to 'memory/jemalloc/src/test/include/test/mtx.h')
-rw-r--r-- | memory/jemalloc/src/test/include/test/mtx.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/memory/jemalloc/src/test/include/test/mtx.h b/memory/jemalloc/src/test/include/test/mtx.h new file mode 100644 index 000000000..58afbc3d1 --- /dev/null +++ b/memory/jemalloc/src/test/include/test/mtx.h @@ -0,0 +1,23 @@ +/* + * mtx is a slightly simplified version of malloc_mutex. This code duplication + * is unfortunate, but there are allocator bootstrapping considerations that + * would leak into the test infrastructure if malloc_mutex were used directly + * in tests. + */ + +typedef struct { +#ifdef _WIN32 + CRITICAL_SECTION lock; +#elif (defined(JEMALLOC_OS_UNFAIR_LOCK)) + os_unfair_lock lock; +#elif (defined(JEMALLOC_OSSPIN)) + OSSpinLock lock; +#else + pthread_mutex_t lock; +#endif +} mtx_t; + +bool mtx_init(mtx_t *mtx); +void mtx_fini(mtx_t *mtx); +void mtx_lock(mtx_t *mtx); +void mtx_unlock(mtx_t *mtx); |