From 7e78863074d1645eeef0f23b7f84597597d166aa Mon Sep 17 00:00:00 2001 From: Simon Ebner Date: Sat, 6 Apr 2019 22:13:10 +0200 Subject: [PATCH] Don't use a moved-from handler: close #1560 * Obtain the executor from the handler prior to transferring ownership. --- CHANGELOG.md | 6 ++++++ include/boost/beast/core/async_base.hpp | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index df3fc640..43e39095 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +Version 248: + +* Don't use a moved-from handler + +-------------------------------------------------------------------------------- + Version 247: * Fix async_base immediate completion diff --git a/include/boost/beast/core/async_base.hpp b/include/boost/beast/core/async_base.hpp index f815eb20..ee6a7d7a 100644 --- a/include/boost/beast/core/async_base.hpp +++ b/include/boost/beast/core/async_base.hpp @@ -339,8 +339,9 @@ public: this->before_invoke_hook(); if(! is_continuation) { + auto const ex = get_executor(); net::post(net::bind_executor( - get_executor(), + ex, beast::bind_front_handler( std::move(h_), std::forward(args)...)));