From 6dff6b74256748f182ad65634a1ab16c5989d40e Mon Sep 17 00:00:00 2001 From: Shauren Date: Fri, 12 Sep 2014 19:34:26 +0200 Subject: Core/NetworkIO: Set non blocking mode on sockets properly --- src/server/shared/Networking/AsyncAcceptor.h | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/server/shared/Networking/AsyncAcceptor.h b/src/server/shared/Networking/AsyncAcceptor.h index a8b688e6b26..c8f8e2dbd90 100644 --- a/src/server/shared/Networking/AsyncAcceptor.h +++ b/src/server/shared/Networking/AsyncAcceptor.h @@ -32,8 +32,6 @@ public: _acceptor(ioService, tcp::endpoint(boost::asio::ip::address::from_string(bindIp), port)), _socket(ioService) { - boost::system::error_code error; - _acceptor.non_blocking(true, error); } template @@ -47,12 +45,13 @@ public: { try { - // this-> is required here to fix an segmentation fault in gcc 4.7.2 - reason is lambdas in a templated class - mgrHandler(std::move(this->_socket)); + _socket.non_blocking(true); + + mgrHandler(std::move(_socket)); } catch (boost::system::system_error const& err) { - TC_LOG_INFO("network", "Failed to retrieve client's remote address %s", err.what()); + TC_LOG_INFO("network", "Failed to initialize client's socket %s", err.what()); } } -- cgit v1.2.3