]> git.stg.codes - stg.git/blobdiff - projects/stargazer/plugins/other/smux/smux.cpp
Fixed admin provoledges reseting after password change. Fixes #28.
[stg.git] / projects / stargazer / plugins / other / smux / smux.cpp
index f1c94d11b2bc18023bc9b05c9ef264597dffc2ef..bef6e462343bd3ab5175ca9112d5583d5b72f6e8 100644 (file)
@@ -111,7 +111,8 @@ SMUX::SMUX()
       notifiers(),
       addUserNotifier(*this),
       delUserNotifier(*this),
-      addDelTariffNotifier(*this)
+      addDelTariffNotifier(*this),
+      logger(GetPluginLogger(GetStgLogger(), "smux"))
 {
 pthread_mutex_init(&mutex, NULL);
 
@@ -204,6 +205,7 @@ if (!running)
     if (pthread_create(&thread, NULL, Runner, this))
         {
         errorStr = "Cannot create thread.";
+       logger("Cannot create thread.");
         printfd(__FILE__, "Cannot create thread\n");
         return -1;
         }
@@ -315,6 +317,7 @@ sock = socket(AF_INET, SOCK_STREAM, 0);
 if (sock < 0)
     {
     errorStr = "Cannot create socket.";
+    logger("Cannot create a socket: %s", strerror(errno));
     printfd(__FILE__, "Cannot create socket\n");
     return true;
     }
@@ -328,6 +331,7 @@ addr.sin_addr.s_addr = smuxSettings.GetIP();
 if (connect(sock, reinterpret_cast<struct sockaddr *>(&addr), sizeof(addr)))
     {
     errorStr = "Cannot connect.";
+    logger("Cannot connect the socket: %s", strerror(errno));
     printfd(__FILE__, "Cannot connect. Message: '%s'\n", strerror(errno));
     return true;
     }
@@ -473,4 +477,5 @@ while (it != notifiers.end())
     it->GetUserPtr()->GetProperty().tariffName.DelAfterNotifier(&(*it));
     ++it;
     }
+notifiers.clear();
 }