Fix build without mutex

This commit is contained in:
Behdad Esfahbod 2011-05-10 19:21:07 -04:00
parent 19d3035c40
commit 8c7a100a4d

View File

@ -71,13 +71,13 @@ typedef CRITICAL_SECTION hb_mutex_t;
#warning "Could not find any system to define platform macros, library will NOT be thread-safe"
typedef volatile int hb_mutex_t;
typedef struct { volatile int m; } hb_mutex_t;
#define HB_MUTEX_INIT 0
#define hb_mutex_init(M) ((void) (*(M) = 0))
#define hb_mutex_lock(M) ((void) (*(M) = 1))
#define hb_mutex_trylock(M) (*(M) = 1, 1)
#define hb_mutex_unlock(M) ((void) (*(M) = 0))
#define hb_mutex_free(M) ((void) (*(M) = 2))
#define hb_mutex_init(M) ((void) ((M)->m = 0))
#define hb_mutex_lock(M) ((void) ((M)->m = 1))
#define hb_mutex_trylock(M) ((M)->m = 1, 1)
#define hb_mutex_unlock(M) ((void) ((M)->m = 0))
#define hb_mutex_free(M) ((void) ((M)-M = 2))
#endif