diff options
Diffstat (limited to 'src/third_party/asio-master/asio/include/asio/detail/impl/kqueue_reactor.ipp')
-rw-r--r-- | src/third_party/asio-master/asio/include/asio/detail/impl/kqueue_reactor.ipp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/third_party/asio-master/asio/include/asio/detail/impl/kqueue_reactor.ipp b/src/third_party/asio-master/asio/include/asio/detail/impl/kqueue_reactor.ipp index 4344e50d015..24599ad115e 100644 --- a/src/third_party/asio-master/asio/include/asio/detail/impl/kqueue_reactor.ipp +++ b/src/third_party/asio-master/asio/include/asio/detail/impl/kqueue_reactor.ipp @@ -2,7 +2,7 @@ // detail/impl/kqueue_reactor.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2017 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2005 Stefan Arentz (stefan at soze dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying @@ -327,9 +327,6 @@ void kqueue_reactor::deregister_descriptor(socket_type descriptor, context(), static_cast<uintmax_t>(descriptor), reinterpret_cast<uintmax_t>(descriptor_data))); - free_descriptor_state(descriptor_data); - descriptor_data = 0; - scheduler_.post_deferred_completions(ops); } } @@ -363,7 +360,14 @@ void kqueue_reactor::deregister_internal_descriptor(socket_type descriptor, ASIO_HANDLER_REACTOR_DEREGISTRATION(( context(), static_cast<uintmax_t>(descriptor), reinterpret_cast<uintmax_t>(descriptor_data))); + } +} +void kqueue_reactor::cleanup_descriptor_data( + per_descriptor_data& descriptor_data) +{ + if (descriptor_data) + { free_descriptor_state(descriptor_data); descriptor_data = 0; } |