diff options
author | bunnei <bunneidev@gmail.com> | 2020-04-17 16:33:08 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-17 16:33:08 -0400 |
commit | b8f5c71f2d7f819821acf036175cce65ab1ae12c (patch) | |
tree | 151d7ed4e47536dc0e149a7117387b6a502d7da6 /src/common/scope_exit.h | |
parent | ca3af2961c5fcda9d3ef4938505bd148856e8176 (diff) | |
parent | 8bbe74a8dc62cd3933fd08237e707b0059fe8a78 (diff) |
Merge pull request #3666 from bunnei/new-vmm
Implement a new virtual memory manager
Diffstat (limited to 'src/common/scope_exit.h')
-rw-r--r-- | src/common/scope_exit.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/common/scope_exit.h b/src/common/scope_exit.h index 1176a72b1..68ef5f197 100644 --- a/src/common/scope_exit.h +++ b/src/common/scope_exit.h @@ -12,10 +12,17 @@ template <typename Func> struct ScopeExitHelper { explicit ScopeExitHelper(Func&& func) : func(std::move(func)) {} ~ScopeExitHelper() { - func(); + if (active) { + func(); + } + } + + void Cancel() { + active = false; } Func func; + bool active{true}; }; template <typename Func> |