diff options
Diffstat (limited to '3rdparty/asio/include/asio/detail/impl/dev_poll_reactor.hpp')
-rw-r--r-- | 3rdparty/asio/include/asio/detail/impl/dev_poll_reactor.hpp | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/3rdparty/asio/include/asio/detail/impl/dev_poll_reactor.hpp b/3rdparty/asio/include/asio/detail/impl/dev_poll_reactor.hpp index f6c00a51583..b483e44fd1c 100644 --- a/3rdparty/asio/include/asio/detail/impl/dev_poll_reactor.hpp +++ b/3rdparty/asio/include/asio/detail/impl/dev_poll_reactor.hpp @@ -2,7 +2,7 @@ // detail/impl/dev_poll_reactor.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2024 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,11 +19,19 @@ #if defined(ASIO_HAS_DEV_POLL) +#include "asio/detail/scheduler.hpp" + #include "asio/detail/push_options.hpp" namespace asio { namespace detail { +inline void dev_poll_reactor::post_immediate_completion( + operation* op, bool is_continuation) const +{ + scheduler_.post_immediate_completion(op, is_continuation); +} + template <typename Time_Traits> void dev_poll_reactor::add_timer_queue(timer_queue<Time_Traits>& queue) { @@ -69,6 +77,18 @@ std::size_t dev_poll_reactor::cancel_timer(timer_queue<Time_Traits>& queue, } template <typename Time_Traits> +void dev_poll_reactor::cancel_timer_by_key(timer_queue<Time_Traits>& queue, + typename timer_queue<Time_Traits>::per_timer_data* timer, + void* cancellation_key) +{ + asio::detail::mutex::scoped_lock lock(mutex_); + op_queue<operation> ops; + queue.cancel_timer_by_key(timer, ops, cancellation_key); + lock.unlock(); + scheduler_.post_deferred_completions(ops); +} + +template <typename Time_Traits> void dev_poll_reactor::move_timer(timer_queue<Time_Traits>& queue, typename timer_queue<Time_Traits>::per_timer_data& target, typename timer_queue<Time_Traits>::per_timer_data& source) |