1 #ifndef JEMALLOC_INTERNAL_MUTEX_STRUCTS_H
2 #define JEMALLOC_INTERNAL_MUTEX_STRUCTS_H
3 
4 struct malloc_mutex_s {
5 #ifdef _WIN32
6 #  if _WIN32_WINNT >= 0x0600
7 	SRWLOCK         	lock;
8 #  else
9 	CRITICAL_SECTION	lock;
10 #  endif
11 #elif (defined(JEMALLOC_OS_UNFAIR_LOCK))
12 	os_unfair_lock		lock;
13 #elif (defined(JEMALLOC_OSSPIN))
14 	OSSpinLock		lock;
15 #elif (defined(JEMALLOC_MUTEX_INIT_CB))
16 	pthread_mutex_t		lock;
17 	malloc_mutex_t		*postponed_next;
18 #else
19 	pthread_mutex_t		lock;
20 #endif
21 	witness_t		witness;
22 };
23 
24 #endif /* JEMALLOC_INTERNAL_MUTEX_STRUCTS_H */
25