From 9080adac454356d62c416853f3fb6310faf8e0c9 Mon Sep 17 00:00:00 2001 From: Martin Trenkmann Date: Tue, 20 Nov 2018 17:02:14 +0100 Subject: [PATCH] Start server after register signal handler --- libs/network/example/http/echo_async_server.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/libs/network/example/http/echo_async_server.cpp b/libs/network/example/http/echo_async_server.cpp index 56aeb4e23..c017a32b6 100644 --- a/libs/network/example/http/echo_async_server.cpp +++ b/libs/network/example/http/echo_async_server.cpp @@ -224,16 +224,21 @@ int main() { auto io_service = std::make_shared(); echo_server server( echo_server::options(handler).io_service(io_service).port("8000")); - server.run(); // Clean shutdown when pressing Ctrl+C. boost::asio::signal_set signals(*io_service, SIGINT, SIGTERM); signals.async_wait([&server](const boost::system::error_code& ec, int /* signal_number */) { if (!ec) { + std::cout << "Stopping server... "; server.stop(); + std::cout << "done.\n"; } }); + + std::cout << "Press Ctrl+C to stop the server.\n"; + server.run(); + return EXIT_SUCCESS; } catch (const std::exception& error) { std::cerr << error.what() << std::endl;