summaryrefslogtreecommitdiff
path: root/src/third_party/asio-master/asio/include/asio/detail/impl/signal_set_service.ipp
diff options
context:
space:
mode:
Diffstat (limited to 'src/third_party/asio-master/asio/include/asio/detail/impl/signal_set_service.ipp')
-rw-r--r--src/third_party/asio-master/asio/include/asio/detail/impl/signal_set_service.ipp8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/third_party/asio-master/asio/include/asio/detail/impl/signal_set_service.ipp b/src/third_party/asio-master/asio/include/asio/detail/impl/signal_set_service.ipp
index 114a0b1417f..f19f8e2d9a9 100644
--- a/src/third_party/asio-master/asio/include/asio/detail/impl/signal_set_service.ipp
+++ b/src/third_party/asio-master/asio/include/asio/detail/impl/signal_set_service.ipp
@@ -2,7 +2,7 @@
// detail/impl/signal_set_service.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)
//
// 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)
@@ -189,6 +189,7 @@ void signal_set_service::notify_fork(
state->fork_prepared_ = true;
lock.unlock();
reactor_.deregister_internal_descriptor(read_descriptor, reactor_data_);
+ reactor_.cleanup_descriptor_data(reactor_data_);
}
break;
case asio::io_context::fork_parent:
@@ -558,8 +559,9 @@ void signal_set_service::remove_service(signal_set_service* service)
// Disable the pipe readiness notifications.
int read_descriptor = state->read_descriptor_;
lock.unlock();
- service->reactor_.deregister_descriptor(
- read_descriptor, service->reactor_data_, false);
+ service->reactor_.deregister_internal_descriptor(
+ read_descriptor, service->reactor_data_);
+ service->reactor_.cleanup_descriptor_data(service->reactor_data_);
lock.lock();
#endif // !defined(ASIO_WINDOWS)
// && !defined(ASIO_WINDOWS_RUNTIME)