diff options
Diffstat (limited to 'src/include/mutex.h')
-rw-r--r-- | src/include/mutex.h | 8 |
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) /* |