libt2n: (tomj) fixed call of virtual function close() from destructor, fixed return...
[libt2n] / src / socket_client.cpp
index 360e5f0..fca01d1 100644 (file)
@@ -66,6 +66,7 @@ socket_client_connection::socket_client_connection(int _port, const std::string&
     {
         lastErrorMsg=e.what();
         LOGSTREAM(debug,"tcp connect error: " << lastErrorMsg);
+        // FIXME: Don't call virtual function in constructor. Currently not dangerous but bad design.
         close();
     }
 
@@ -94,6 +95,7 @@ socket_client_connection::socket_client_connection(const std::string& _path,
     {
         lastErrorMsg=e.what();
         LOGSTREAM(debug,"unix connect error: " << lastErrorMsg);
+        // FIXME: Don't call virtual function in constructor. Currently not dangerous
         close();
     }
 
@@ -101,6 +103,15 @@ socket_client_connection::socket_client_connection(const std::string& _path,
         do_callbacks(new_connection);
 }
 
+/**
+ * Destructor. Closes an open connection.
+ */
+socket_client_connection::~socket_client_connection()
+{
+    // Destructor of socket_handler will close the socket!
+}
+
+
 /// establish a connection via tcp
 void socket_client_connection::tcp_connect(int max_retries)
 {