summaryrefslogtreecommitdiff
path: root/src/include/mutex.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/mutex.h')
-rw-r--r--src/include/mutex.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/include/mutex.h b/src/include/mutex.h
index d46090ab35d..9f05d14680a 100644
--- a/src/include/mutex.h
+++ b/src/include/mutex.h
@@ -133,20 +133,22 @@
* Atomic versions of F_ISSET, F_SET and F_CLR.
* Spin until the new value can be swapped into place.
*/
-#define F_ISSET_ATOMIC(p, mask) ((p)->flags_atomic & (mask))
+#define F_ISSET_ATOMIC(p, mask) ((p)->flags_atomic & (uint32_t)(mask))
#define F_SET_ATOMIC(p, mask) do { \
uint32_t __orig; \
do { \
__orig = (p)->flags_atomic; \
- } while (!WT_ATOMIC_CAS((p)->flags_atomic, __orig, __orig | (mask)));\
+ } while (!WT_ATOMIC_CAS((p)->flags_atomic, \
+ __orig, __orig | (uint32_t)(mask))); \
} while (0)
#define F_CLR_ATOMIC(p, mask) do { \
uint32_t __orig; \
do { \
__orig = (p)->flags_atomic; \
- } while (!WT_ATOMIC_CAS((p)->flags_atomic, __orig, __orig & ~(mask)));\
+ } while (!WT_ATOMIC_CAS((p)->flags_atomic, \
+ __orig, __orig & ~(uint32_t)(mask))); \
} while (0)
/*