]> git.sesse.net Git - casparcg/commitdiff
git-svn-id: https://casparcg.svn.sourceforge.net/svnroot/casparcg/server/branches...
authorronag <ronag@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Thu, 8 Mar 2012 13:33:01 +0000 (13:33 +0000)
committerronag <ronag@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Thu, 8 Mar 2012 13:33:01 +0000 (13:33 +0000)
protocol/osc/server.cpp
protocol/util/AsyncEventServer.cpp

index 62b9df0e2c6fac66344b4f7894f428a278d4d699..b4be0ff01f39c9b23325e552d22f4cce451fa88e 100644 (file)
@@ -92,6 +92,7 @@ public:
        \r
        void stop()\r
        {\r
+               connection_set_->erase(shared_from_this());\r
                socket_->shutdown(boost::asio::socket_base::shutdown_both);\r
                socket_->close();\r
        }\r
@@ -136,11 +137,8 @@ private:
                        \r
                        read_some();\r
                }  \r
-               else if (error != boost::asio::error::operation_aborted)\r
-               {\r
-                       connection_set_->erase(shared_from_this());\r
-                       stop();\r
-               }\r
+               else if (error != boost::asio::error::operation_aborted)                \r
+                       stop();         \r
                else\r
                        read_some();\r
     }\r
@@ -151,10 +149,7 @@ private:
                {\r
                }\r
                else if (error != boost::asio::error::operation_aborted)\r
-               {\r
-                       connection_set_->erase(shared_from_this());\r
-                       stop();\r
-               }\r
+                       stop();         \r
     }\r
 \r
        void read_some()\r
index c8f3916c1f749a21eecf1daa148f7e6720555596..7eee0639427efce43cc005ba0e26baed86a85d95 100644 (file)
@@ -153,13 +153,14 @@ public:
 \r
        virtual void Disconnect()\r
        {\r
-               connection_set_->erase(shared_from_this());\r
+               stop();\r
        }\r
        \r
        /**************/\r
        \r
        void stop()\r
        {\r
+               connection_set_->erase(shared_from_this());\r
                socket_->shutdown(boost::asio::socket_base::shutdown_both);\r
                socket_->close();\r
                CASPAR_LOG(info) << print() << L" Disconnected.";\r
@@ -200,10 +201,7 @@ private:
                        read_some();\r
                }  \r
                else if (error != boost::asio::error::operation_aborted)\r
-               {\r
-                       connection_set_->erase(shared_from_this());\r
-                       stop();\r
-               }\r
+                       stop();         \r
                else\r
                        read_some();\r
     }\r
@@ -218,10 +216,7 @@ private:
                                CASPAR_LOG(trace) << print() << L" Sent more than 512 bytes.";\r
                }\r
                else if (error != boost::asio::error::operation_aborted)                \r
-               {\r
-                       connection_set_->erase(shared_from_this());\r
-                       stop();\r
-               }\r
+                       stop();         \r
     }\r
 \r
        void read_some()\r