From a023cc28c4efdd8a7728278a0c8511a62e699da8 Mon Sep 17 00:00:00 2001 From: Dan Engelbrecht Date: Wed, 24 Apr 2024 10:33:40 +0200 Subject: Bugfix: Only disable oplog update capture if we have started it (#58) --- src/zenserver/projectstore/projectstore.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/zenserver') diff --git a/src/zenserver/projectstore/projectstore.cpp b/src/zenserver/projectstore/projectstore.cpp index 3c281275e..27e8b2463 100644 --- a/src/zenserver/projectstore/projectstore.cpp +++ b/src/zenserver/projectstore/projectstore.cpp @@ -3903,7 +3903,10 @@ public: virtual ~ProjectStoreReferenceChecker() { m_OplogLock.reset(); - m_Oplog.DisableUpdateCapture(); + if (m_OplogCaptureEnabled) + { + m_Oplog.DisableUpdateCapture(); + } } virtual std::string GetGcName(GcCtx&) override { return fmt::format("oplog: '{}'", m_Oplog.m_BasePath); } @@ -3929,6 +3932,7 @@ public: }); m_Oplog.EnableUpdateCapture(); + m_OplogCaptureEnabled = true; RwLock::SharedLockScope __(m_Oplog.m_OplogLock); if (Ctx.IsCancelledFlag) @@ -4012,6 +4016,7 @@ public: bool m_PreCache; std::unique_ptr m_OplogLock; std::vector m_References; + bool m_OplogCaptureEnabled = false; }; std::vector -- cgit v1.2.3