void stop()\r
{\r
connection_set_->erase(shared_from_this());\r
- socket_->close();\r
+ try\r
+ {\r
+ socket_->close();\r
+ }\r
+ catch(...)\r
+ {\r
+ CASPAR_LOG_CURRENT_EXCEPTION();\r
+ }\r
CASPAR_LOG(info) << print() << L" Disconnected.";\r
}\r
\r
}\r
\r
~tcp_observer()\r
- { \r
+ { \r
try\r
{\r
acceptor_.close();\r
-\r
- service_.post([=]\r
- {\r
- auto connections = *connection_set_;\r
- BOOST_FOREACH(auto& connection, connections)\r
- {\r
- try\r
- {\r
- connection->stop();\r
- }\r
- catch(...)\r
- {\r
- CASPAR_LOG_CURRENT_EXCEPTION();\r
- }\r
- }\r
- });\r
}\r
catch(...)\r
{\r
CASPAR_LOG_CURRENT_EXCEPTION();\r
}\r
\r
+ service_.post([=]\r
+ {\r
+ auto connections = *connection_set_;\r
+ BOOST_FOREACH(auto& connection, connections)\r
+ connection->stop(); \r
+ });\r
+\r
thread_.join();\r
}\r
\r
void stop()\r
{\r
connection_set_->erase(shared_from_this());\r
- socket_->close();\r
+ try\r
+ {\r
+ socket_->close();\r
+ }\r
+ catch(...)\r
+ {\r
+ CASPAR_LOG_CURRENT_EXCEPTION();\r
+ }\r
CASPAR_LOG(info) << print() << L" Disconnected.";\r
}\r
\r
{\r
try\r
{\r
- acceptor_.close();\r
-\r
- service_.post([=]\r
- {\r
- auto connections = *connection_set_;\r
- BOOST_FOREACH(auto& connection, connections)\r
- {\r
- try\r
- {\r
- connection->stop();\r
- }\r
- catch(...)\r
- {\r
- CASPAR_LOG_CURRENT_EXCEPTION();\r
- }\r
- }\r
- });\r
+ acceptor_.close(); \r
}\r
catch(...)\r
{\r
CASPAR_LOG_CURRENT_EXCEPTION();\r
}\r
\r
+ service_.post([=]\r
+ {\r
+ auto connections = *connection_set_;\r
+ BOOST_FOREACH(auto& connection, connections)\r
+ connection->stop(); \r
+ });\r
+\r
thread_.join();\r
}\r
\r