aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDan Engelbrecht <[email protected]>2024-04-24 10:33:40 +0200
committerGitHub Enterprise <[email protected]>2024-04-24 10:33:40 +0200
commita023cc28c4efdd8a7728278a0c8511a62e699da8 (patch)
tree53c433615944518dd169e6d088b2799dfdaed449 /src
parent5.5.0-pre0 (diff)
downloadzen-a023cc28c4efdd8a7728278a0c8511a62e699da8.tar.xz
zen-a023cc28c4efdd8a7728278a0c8511a62e699da8.zip
Bugfix: Only disable oplog update capture if we have started it (#58)
Diffstat (limited to 'src')
-rw-r--r--src/zenserver/projectstore/projectstore.cpp7
1 files changed, 6 insertions, 1 deletions
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<RwLock::SharedLockScope> m_OplogLock;
std::vector<IoHash> m_References;
+ bool m_OplogCaptureEnabled = false;
};
std::vector<GcReferenceChecker*>