diff options
author | Luke Chen <luke.chen@mongodb.com> | 2021-06-09 17:19:07 +1000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2021-06-09 07:43:09 +0000 |
commit | ba7766f8184a756c8339ce973d19ee6dc8ceef72 (patch) | |
tree | 0ce026db66c60d3e2a099049c4cb6d780d67c6a3 | |
parent | ba289562f3e97028cbff7e466f1c5e7a4d3129c5 (diff) | |
download | mongo-r5.0.0-rc1.tar.gz |
Import wiredtiger: ccb1fc26d51419846e3185a7c41e5c3052b5bb07 from branch mongodb-5.0r5.0.0-rc1
ref: 8a3206b68b..ccb1fc26d5
for: 5.0.0-rc1
WT-7656 Destroy tiered condvar after thread is joined
-rw-r--r-- | src/third_party/wiredtiger/import.data | 2 | ||||
-rw-r--r-- | src/third_party/wiredtiger/src/conn/conn_tiered.c | 5 |
2 files changed, 4 insertions, 3 deletions
diff --git a/src/third_party/wiredtiger/import.data b/src/third_party/wiredtiger/import.data index 17257232902..2a0cc3768a2 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-5.0", - "commit": "8a3206b68bd7ef048c5805ef3396c408791d668b" + "commit": "ccb1fc26d51419846e3185a7c41e5c3052b5bb07" } diff --git a/src/third_party/wiredtiger/src/conn/conn_tiered.c b/src/third_party/wiredtiger/src/conn/conn_tiered.c index 507e1a13fcf..a443802197c 100644 --- a/src/third_party/wiredtiger/src/conn/conn_tiered.c +++ b/src/third_party/wiredtiger/src/conn/conn_tiered.c @@ -658,7 +658,6 @@ __wt_tiered_storage_destroy(WT_SESSION_IMPL *session) __wt_tiered_work_free(session, entry); } } - __wt_cond_destroy(session, &conn->tiered_cond); if (conn->tiered_session != NULL) { WT_TRET(__wt_session_close_internal(conn->tiered_session)); conn->tiered_session = NULL; @@ -671,8 +670,10 @@ __wt_tiered_storage_destroy(WT_SESSION_IMPL *session) WT_TRET(__wt_thread_join(session, &conn->tiered_mgr_tid)); conn->tiered_mgr_tid_set = false; } + /* Destroy all condition variables after threads have stopped. */ + __wt_cond_destroy(session, &conn->tiered_cond); __wt_cond_destroy(session, &conn->tiered_mgr_cond); - /* This condition variable is last because any internal thread could be using it. */ + /* The flush condition variable must be last because any internal thread could be using it. */ __wt_cond_destroy(session, &conn->flush_cond); if (conn->tiered_mgr_session != NULL) { |