X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=ceph%2Fsrc%2Fboost%2Fboost%2Fasio%2Fdetail%2Fwait_handler.hpp;h=b94773467ed4b0cd59f70b4d026f7d151e0919fe;hb=92f5a8d42d07f9929ae4fa7e01342fe8d96808a8;hp=a9341244f8019b27b8fffa475af1688d5c94f457;hpb=a0324939f9d0e1905d5df8f57442f09dc70af83d;p=ceph.git diff --git a/ceph/src/boost/boost/asio/detail/wait_handler.hpp b/ceph/src/boost/boost/asio/detail/wait_handler.hpp index a9341244f..b94773467 100644 --- a/ceph/src/boost/boost/asio/detail/wait_handler.hpp +++ b/ceph/src/boost/boost/asio/detail/wait_handler.hpp @@ -2,7 +2,7 @@ // detail/wait_handler.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2019 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -19,9 +19,9 @@ #include #include #include +#include #include #include -#include #include @@ -29,17 +29,18 @@ namespace boost { namespace asio { namespace detail { -template +template class wait_handler : public wait_op { public: BOOST_ASIO_DEFINE_HANDLER_PTR(wait_handler); - wait_handler(Handler& h) + wait_handler(Handler& h, const IoExecutor& ex) : wait_op(&wait_handler::do_complete), - handler_(BOOST_ASIO_MOVE_CAST(Handler)(h)) + handler_(BOOST_ASIO_MOVE_CAST(Handler)(h)), + io_executor_(ex) { - handler_work::start(handler_); + handler_work::start(handler_, io_executor_); } static void do_complete(void* owner, operation* base, @@ -49,7 +50,7 @@ public: // Take ownership of the handler object. wait_handler* h(static_cast(base)); ptr p = { boost::asio::detail::addressof(h->handler_), h, h }; - handler_work w(h->handler_); + handler_work w(h->handler_, h->io_executor_); BOOST_ASIO_HANDLER_COMPLETION((*h)); @@ -76,6 +77,7 @@ public: private: Handler handler_; + IoExecutor io_executor_; }; } // namespace detail