summaryrefslogtreecommitdiff
path: root/src/third_party/wiredtiger
diff options
context:
space:
mode:
authorLuke Chen <luke.chen@mongodb.com>2022-08-01 14:08:12 +1000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2022-08-01 04:38:52 +0000
commitc8955fd7b89009f3c65eb2a6d6227249ea561fdb (patch)
tree3f2942f6d9c233e5e0bc882b15f59d5975ff4e4c /src/third_party/wiredtiger
parentf6fd11ab11600164200b5514759ee501f30da1aa (diff)
downloadmongo-c8955fd7b89009f3c65eb2a6d6227249ea561fdb.tar.gz
Import wiredtiger: 0427579d14f4a274bb55eb84be954054e96242dc from branch mongodb-master
ref: 8b0ee25694..0427579d14 for: 6.1.0-rc0 WT-9643 Fix pthread_mutex_destroy() failure during test_checkpoint. (#8169)
Diffstat (limited to 'src/third_party/wiredtiger')
-rw-r--r--src/third_party/wiredtiger/import.data2
-rw-r--r--src/third_party/wiredtiger/test/checkpoint/checkpointer.c13
2 files changed, 12 insertions, 3 deletions
diff --git a/src/third_party/wiredtiger/import.data b/src/third_party/wiredtiger/import.data
index bcb9f67d66a..4cc42d9f9a5 100644
--- a/src/third_party/wiredtiger/import.data
+++ b/src/third_party/wiredtiger/import.data
@@ -2,5 +2,5 @@
"vendor": "wiredtiger",
"github": "wiredtiger/wiredtiger.git",
"branch": "mongodb-master",
- "commit": "8b0ee2569413015368c3bb3d808d88bb9f5a677c"
+ "commit": "0427579d14f4a274bb55eb84be954054e96242dc"
}
diff --git a/src/third_party/wiredtiger/test/checkpoint/checkpointer.c b/src/third_party/wiredtiger/test/checkpoint/checkpointer.c
index b7f73f20071..1e1e924659a 100644
--- a/src/third_party/wiredtiger/test/checkpoint/checkpointer.c
+++ b/src/third_party/wiredtiger/test/checkpoint/checkpointer.c
@@ -79,15 +79,24 @@ void
end_threads(void)
{
if (g.tiered) {
+ /*
+ * The flush lock is also used by the worker threads. They have exited by the time this is
+ * called, so it is safe to destroy it.
+ */
testutil_check(__wt_thread_join(NULL, &g.flush_thread));
__wt_rwlock_destroy(NULL, &g.flush_lock);
}
+ /* Shutdown checkpoint after flush thread completes because flush depends on checkpoint. */
+ testutil_check(__wt_thread_join(NULL, &g.checkpoint_thread));
+
if (g.use_timestamps) {
+ /*
+ * The clock lock is also used by the checkpoint thread. Now that it has exited it is safe
+ * to destroy that lock.
+ */
testutil_check(__wt_thread_join(NULL, &g.clock_thread));
__wt_rwlock_destroy(NULL, &g.clock_lock);
}
- /* Shutdown checkpoint after flush thread completes because flush depends on checkpoint. */
- testutil_check(__wt_thread_join(NULL, &g.checkpoint_thread));
}
/*