powerguru-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Powerguru-commit] [SCM] powerguru branch, master, updated. 4c565a0f8ab3


From: Rob Savoye
Subject: [Powerguru-commit] [SCM] powerguru branch, master, updated. 4c565a0f8ab38f0a57d6189edded056e48d2fd6b
Date: Fri, 7 Dec 2018 17:06:47 -0500 (EST)

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "powerguru".

The branch, master has been updated
       via  4c565a0f8ab38f0a57d6189edded056e48d2fd6b (commit)
      from  63204e297201afa9656e79e698e6446dfa6cb8cd (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://git.savannah.gnu.org/cgit/powerguru.git/commit/?id=4c565a0f8ab38f0a57d6189edded056e48d2fd6b


commit 4c565a0f8ab38f0a57d6189edded056e48d2fd6b
Author: Rob Savoye <address@hidden>
Date:   Fri Dec 7 15:06:39 2018 -0700

    Support reconnecting

diff --git a/daemon/threads.cc b/daemon/threads.cc
index 135a34f..f6df7b6 100644
--- a/daemon/threads.cc
+++ b/daemon/threads.cc
@@ -87,51 +87,53 @@ client_handler(void)
 {
     DEBUGLOG_REPORT_FUNCTION;
 
-    retcode_t   ret;
+    retcode_t ret;
     Tcpip net;
-    net.toggleDebug(true);
-    net.createNetServer(6000);
-    net.newNetConnection(true);
-
-    bool loop = true;
-    std::vector<unsigned char> data;
-    while (loop) {
-        if (net.readNet(data).size() < 0) {
-            dbglogfile << "ERROR: Got error from socket " << std::endl;
-            loop = false;
-        } else {
-            std::string buffer = (char *)data.data();
-            if (buffer[0] == 0) {
-                loop = false;
-                continue;
-            }
-            //if (buffer.size() == 1 && *data.data() == 0) {
-            if (data.size() == 1) {
+    int retries = 0;
+
+    net.createNetServer(DEFAULTPORT);
+
+    while (retries-- < 10) {
+        net.newNetConnection(true);
+
+        bool loop = true;
+        std::vector<unsigned char> data;
+        while (loop) {
+            if (net.readNet(data).size() < 0) {
+                dbglogfile << "ERROR: Got error from socket " << std::endl;
                 loop = false;
-            }
-            if (data.size() == 0) {
-                sleep(1);
-                continue;
-            }
-            buffer.erase(buffer.find('\n')-1);
-            // if the first character is a <, assume it's in XML formst.
-            if (buffer[0] == '<') {
-                XML xml;
-                xml.parseMem(buffer);
-                dbglogfile << "FIXME:: \"" << xml.nameGet() << "\"" << 
std::endl;
-                if (xml.nameGet() == "command") {
-                    std::cerr << "FIXME: Command: " << xml.valueGet() << 
std::endl;
-                    if (xml.valueGet() == "help") {
-                        net.writeNet("Hello World!\n");
+            } else {
+                std::string buffer = (char *)data.data();
+                //if (buffer.size() == 1 && *data.data() == 0) {
+                if (data.size() == 1 && buffer[0] == 0) {
+                    net.closeConnection();
+                    // loop = false;
+                    break;
+                }
+                if (data.size() == 0) {
+                    sleep(1);
+                    continue;
+                }
+                buffer.erase(buffer.find('\n')-1);
+                // if the first character is a <, assume it's in XML formst.
+                if (buffer[0] == '<') {
+                    XML xml;
+                    xml.parseMem(buffer);
+                    dbglogfile << "FIXME:: \"" << xml.nameGet() << "\"" << 
std::endl;
+                    if (xml.nameGet() == "command") {
+                        std::cerr << "FIXME: Command: " << xml.valueGet() << 
std::endl;
+                        if (xml.valueGet() == "help") {
+                            net.writeNet("Hello World!\n");
+                        }
+                        
+                    } else if (xml.nameGet() == "data") {
+                        std::cerr << "FIXME: DATA: " << xml.valueGet() << 
std::endl;
+                    } else {
+                        std::cerr << "FIXME: JUNK: " << xml.valueGet() << 
std::endl;
                     }
-                    
-                } else if (xml.nameGet() == "data") {
-                    std::cerr << "FIXME: DATA: " << xml.valueGet() << 
std::endl;
                 } else {
-                    std::cerr << "FIXME: JUNK: " << xml.valueGet() << 
std::endl;
+                    std::cerr << buffer << std::endl;
                 }
-            } else {
-                std::cerr << buffer << std::endl;
             }
         }
     }

-----------------------------------------------------------------------

Summary of changes:
 daemon/threads.cc | 82 ++++++++++++++++++++++++++++---------------------------
 1 file changed, 42 insertions(+), 40 deletions(-)


hooks/post-receive
-- 
powerguru



reply via email to

[Prev in Thread] Current Thread [Next in Thread]