瀏覽代碼

HPCC-15691 Standalone Roxie programs can core in in checkConnection

This is a regression in 6.0.0.

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>
Richard Chapman 9 年之前
父節點
當前提交
923a20eb8c
共有 2 個文件被更改,包括 7 次插入3 次删除
  1. 1 1
      roxie/ccd/ccdmain.cpp
  2. 6 2
      roxie/ccd/ccdprotocol.cpp

+ 1 - 1
roxie/ccd/ccdmain.cpp

@@ -794,7 +794,7 @@ int STARTQUERY_API start_query(int argc, const char *argv[])
         memoryStatsInterval = topology->getPropInt("@memoryStatsInterval", 60);
         roxiemem::setMemoryStatsInterval(memoryStatsInterval);
         pingInterval = topology->getPropInt("@pingInterval", 0);
-        socketCheckInterval = topology->getPropInt("@socketCheckInterval", 5000);
+        socketCheckInterval = topology->getPropInt("@socketCheckInterval", runOnce ? 0 : 5000);
         memsize_t totalMemoryLimit = (memsize_t) topology->getPropInt64("@totalMemoryLimit", 0);
         bool allowHugePages = topology->getPropBool("@heapUseHugePages", false);
         bool allowTransparentHugePages = topology->getPropBool("@heapUseTransparentHugePages", true);

+ 6 - 2
roxie/ccd/ccdprotocol.cpp

@@ -1021,11 +1021,15 @@ public:
     }
     virtual bool checkConnection()
     {
-        return client->checkConnection();
+        if (client)
+            return client->checkConnection();
+        else
+            return true;
     }
     virtual void sendHeartBeat()
     {
-        client->sendHeartBeat(logctx);
+        if (client)
+            client->sendHeartBeat(logctx);
     }
     virtual SafeSocket *querySafeSocket()
     {