From 71fd23c563e96ca2b2916121733091707566063b Mon Sep 17 00:00:00 2001
From: Christophe Geuzaine <cgeuzaine@ulg.ac.be>
Date: Wed, 23 Sep 2009 12:47:16 +0000
Subject: [PATCH] allow multiple reconnects (with -listen)

---
 Fltk/solverWindow.cpp | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/Fltk/solverWindow.cpp b/Fltk/solverWindow.cpp
index 2b4733b3f6..fce5e31d25 100644
--- a/Fltk/solverWindow.cpp
+++ b/Fltk/solverWindow.cpp
@@ -50,7 +50,7 @@ class FlGmshServer : public GmshServer{
       if(timeout > 0 && GetTimeInSeconds() - start > timeout)
         return 2; // timout
 
-      if((_remote->executable.size() && _remote->getPid() < 0) ||
+      if(_remote->getPid() < 0 || 
          (_remote->executable.empty() && !CTX::instance()->solver.listen))
         return 1; // process has been killed or we stopped listening
 
@@ -147,13 +147,13 @@ void GmshRemote::run(std::string args)
   bool initOption[5] = {true, true, true, true, true};  
   while(1) {
 
-    if((prog.size() && _pid < 0) || 
-       (prog.empty() && !CTX::instance()->solver.listen)) break;
+    if(_pid < 0 || (prog.empty() && !CTX::instance()->solver.listen))
+      break;
     
     int stop = server->NonBlockingWait(sock, 0.1, 0.);
     
-    if(stop || (prog.size() && _pid < 0) || 
-       (prog.empty() && !CTX::instance()->solver.listen)) break;
+    if(stop || _pid < 0 || (prog.empty() && !CTX::instance()->solver.listen))
+      break;
     
     int type, length;
     if(server->ReceiveHeader(&type, &length)){
-- 
GitLab