summaryrefslogtreecommitdiff
path: root/src/third_party/wiredtiger/src/os_posix/os_yield.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/third_party/wiredtiger/src/os_posix/os_yield.c')
-rw-r--r--src/third_party/wiredtiger/src/os_posix/os_yield.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/third_party/wiredtiger/src/os_posix/os_yield.c b/src/third_party/wiredtiger/src/os_posix/os_yield.c
index 37d05bc1854..f7c43aae746 100644
--- a/src/third_party/wiredtiger/src/os_posix/os_yield.c
+++ b/src/third_party/wiredtiger/src/os_posix/os_yield.c
@@ -16,5 +16,13 @@ void
__wt_yield(void)
WT_GCC_FUNC_ATTRIBUTE((visibility("default")))
{
+ /*
+ * Yielding the processor isn't documented as a memory barrier, and it's
+ * a reasonable expectation to have. There's no reason not to explicitly
+ * include a barrier since we're giving up the CPU, and ensures callers
+ * aren't ever surprised.
+ */
+ WT_FULL_BARRIER();
+
sched_yield();
}