diff --git a/include/asynchronousContinuation.h b/include/asynchronousContinuation.h index d553199..b861f57 100644 --- a/include/asynchronousContinuation.h +++ b/include/asynchronousContinuation.h @@ -106,7 +106,7 @@ public: template class SerializedAsynchronousContinuation -: public PostedAsynchronousContinuation, public LockSet +: public PostedAsynchronousContinuation { public: SerializedAsynchronousContinuation( @@ -114,16 +114,19 @@ public: OriginalCbFnT originalCbFn, std::vector> requiredLocks = {}) : PostedAsynchronousContinuation(caller, originalCbFn), - LockSet(std::move(requiredLocks)) + requiredLocks(*this, std::move(requiredLocks)) {} template void callOriginalCb(Args&&... args) { - LockSet::release(); + requiredLocks.release(); PostedAsynchronousContinuation::callOriginalCb( std::forward(args)...); } + +public: + LockSet requiredLocks; }; } // namespace smo