diff options
| author | Dan Engelbrecht <[email protected]> | 2024-02-28 11:10:34 +0100 |
|---|---|---|
| committer | GitHub <[email protected]> | 2024-02-28 11:10:34 +0100 |
| commit | bd3b270b57eafc626ca42efea3be8c460761c6ca (patch) | |
| tree | bea450cfeb1c0f092d143e2f3283c65fe432617d /src/zenstore/include | |
| parent | add disk caching to block move (#661) (diff) | |
| download | zen-bd3b270b57eafc626ca42efea3be8c460761c6ca.tar.xz zen-bd3b270b57eafc626ca42efea3be8c460761c6ca.zip | |
Make sure we wait for all scheduled tasks to complete before throwing exceptions further (#662)
Bugfix: We must not throw exceptions to calling function until all async work we spawned has returned
Diffstat (limited to 'src/zenstore/include')
| -rw-r--r-- | src/zenstore/include/zenstore/gc.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/zenstore/include/zenstore/gc.h b/src/zenstore/include/zenstore/gc.h index 30dd97ce8..b7613883a 100644 --- a/src/zenstore/include/zenstore/gc.h +++ b/src/zenstore/include/zenstore/gc.h @@ -173,6 +173,8 @@ public: // Destructor should unlock what was locked in LockState virtual ~GcReferenceChecker() = default; + virtual std::string GetGcName(GcCtx& Ctx) = 0; + virtual void PreCache(GcCtx& Ctx) = 0; // Lock the state and make sure no references changes, usually a read-lock is taken until the destruction @@ -215,6 +217,8 @@ class GcReferencePruner public: virtual ~GcReferencePruner() = default; + virtual std::string GetGcName(GcCtx& Ctx) = 0; + typedef std::function<std::vector<IoHash>(std::span<IoHash> References)> GetUnusedReferencesFunc; // Check a set of references to see if they are in use. |