summaryrefslogtreecommitdiff
path: root/src/lib/server.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/server.cc')
-rw-r--r--src/lib/server.cc5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/lib/server.cc b/src/lib/server.cc
index 6e3781dca..359234044 100644
--- a/src/lib/server.cc
+++ b/src/lib/server.cc
@@ -75,6 +75,8 @@ Server::handle_accept (shared_ptr<Socket> socket, boost::system::error_code cons
return;
}
+ _socket = socket;
+
handle (socket);
start_accept ();
}
@@ -89,5 +91,8 @@ Server::stop ()
}
_acceptor.close ();
+ if (auto s = _socket.lock()) {
+ s->close();
+ }
_io_service.stop ();
}