From 10d0fb21bc8a18633f57a25536ea778e573e40ba Mon Sep 17 00:00:00 2001 From: Oliver Kowalke Date: Thu, 10 Aug 2017 18:23:10 +0200 Subject: [PATCH 2/4] [fiber] resume_with() requires tor return a continuation --- libs/fiber/src/context.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libs/fiber/src/context.cpp b/libs/fiber/src/context.cpp index e60910a..b2fed9b 100644 --- a/libs/fiber/src/context.cpp +++ b/libs/fiber/src/context.cpp @@ -145,6 +145,7 @@ context::resume() noexcept { // pass pointer to the context that resumes `this` c_.resume_with([prev](boost::context::continuation && c){ prev->c_ = std::move( c); + return boost::context::continuation{}; }); } @@ -158,6 +159,7 @@ context::resume( detail::spinlock_lock & lk) noexcept { c_.resume_with([prev,&lk](boost::context::continuation && c){ prev->c_ = std::move( c); lk.unlock(); + return boost::context::continuation{}; }); } @@ -171,6 +173,7 @@ context::resume( context * ready_ctx) noexcept { c_.resume_with([prev,ready_ctx](boost::context::continuation && c){ prev->c_ = std::move( c); context::active()->schedule( ready_ctx); + return boost::context::continuation{}; }); } @@ -218,6 +221,7 @@ context::suspend_with_cc() noexcept { // pass pointer to the context that resumes `this` return c_.resume_with([prev](boost::context::continuation && c){ prev->c_ = std::move( c); + return boost::context::continuation{}; }); } -- 2.11.0