summaryrefslogtreecommitdiff
path: root/src/include/log.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/log.h')
-rw-r--r--src/include/log.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/include/log.h b/src/include/log.h
index b91c7dffe60..3f2cb2ba8e6 100644
--- a/src/include/log.h
+++ b/src/include/log.h
@@ -159,7 +159,8 @@ union __wt_lsn {
!FLD64_ISSET((uint64_t)(state), WT_LOG_SLOT_CLOSE) && \
WT_LOG_SLOT_JOINED(state) < WT_LOG_SLOT_BUF_MAX)
-struct WT_COMPILER_TYPE_ALIGN(WT_CACHE_LINE_ALIGNMENT) __wt_logslot {
+struct __wt_logslot {
+ WT_CACHE_LINE_PAD_BEGIN
volatile int64_t slot_state; /* Slot state */
int64_t slot_unbuffered; /* Unbuffered data in this slot */
int32_t slot_error; /* Error value */
@@ -176,13 +177,14 @@ struct WT_COMPILER_TYPE_ALIGN(WT_CACHE_LINE_ALIGNMENT) __wt_logslot {
#define WT_SLOT_SYNC 0x04 /* Needs sync on release */
#define WT_SLOT_SYNC_DIR 0x08 /* Directory sync on release */
uint32_t flags; /* Flags */
+ WT_CACHE_LINE_PAD_END
};
#define WT_SLOT_INIT_FLAGS 0
-#define WT_WITH_SLOT_LOCK(session, log, ret, op) do { \
+#define WT_WITH_SLOT_LOCK(session, log, op) do { \
WT_ASSERT(session, !F_ISSET(session, WT_SESSION_LOCKED_SLOT)); \
- WT_WITH_LOCK(session, ret, \
+ WT_WITH_LOCK_WAIT(session, \
&log->log_slot_lock, WT_SESSION_LOCKED_SLOT, op); \
} while (0)