summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '3rdParty/Boost/src/boost/asio/impl/io_service.ipp')
-rw-r--r--3rdParty/Boost/src/boost/asio/impl/io_service.ipp30
1 files changed, 23 insertions, 7 deletions
diff --git a/3rdParty/Boost/src/boost/asio/impl/io_service.ipp b/3rdParty/Boost/src/boost/asio/impl/io_service.ipp
index a0b34af..1e3af48 100644
--- a/3rdParty/Boost/src/boost/asio/impl/io_service.ipp
+++ b/3rdParty/Boost/src/boost/asio/impl/io_service.ipp
@@ -2,7 +2,7 @@
// impl/io_service.ipp
// ~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2012 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)
@@ -18,6 +18,7 @@
#include <boost/asio/detail/config.hpp>
#include <boost/limits.hpp>
#include <boost/asio/io_service.hpp>
+#include <boost/asio/detail/scoped_ptr.hpp>
#include <boost/asio/detail/service_registry.hpp>
#include <boost/asio/detail/throw_error.hpp>
@@ -33,17 +34,18 @@ namespace boost {
namespace asio {
io_service::io_service()
- : service_registry_(new boost::asio::detail::service_registry(*this)),
- impl_(service_registry_->use_service<impl_type>())
+ : service_registry_(new boost::asio::detail::service_registry(
+ *this, static_cast<impl_type*>(0),
+ (std::numeric_limits<std::size_t>::max)())),
+ impl_(service_registry_->first_service<impl_type>())
{
- impl_.init((std::numeric_limits<std::size_t>::max)());
}
io_service::io_service(std::size_t concurrency_hint)
- : service_registry_(new boost::asio::detail::service_registry(*this)),
- impl_(service_registry_->use_service<impl_type>())
+ : service_registry_(new boost::asio::detail::service_registry(
+ *this, static_cast<impl_type*>(0), concurrency_hint)),
+ impl_(service_registry_->first_service<impl_type>())
{
- impl_.init(concurrency_hint);
}
io_service::~io_service()
@@ -108,11 +110,21 @@ void io_service::stop()
impl_.stop();
}
+bool io_service::stopped() const
+{
+ return impl_.stopped();
+}
+
void io_service::reset()
{
impl_.reset();
}
+void io_service::notify_fork(boost::asio::io_service::fork_event event)
+{
+ service_registry_->notify_fork(event);
+}
+
io_service::service::service(boost::asio::io_service& owner)
: owner_(owner),
next_(0)
@@ -123,6 +135,10 @@ io_service::service::~service()
{
}
+void io_service::service::fork_service(boost::asio::io_service::fork_event)
+{
+}
+
service_already_exists::service_already_exists()
: std::logic_error("Service already exists.")
{