From 9e3f92b6a3ed1cf213f2d0766968601ddc8df975 Mon Sep 17 00:00:00 2001 From: Andrew Hutchings Date: Mon, 25 Jun 2018 15:10:28 +0100 Subject: [PATCH] MCOL-1330 Make debug flag let valgrind work Add a '-d' flag to WriteEngine, ExeMgr and PrimProc to let valgrind work with them. --- exemgr/main.cpp | 4 +++- primitives/primproc/primproc.cpp | 20 +++++++++++++++++++- writeengine/server/we_server.cpp | 19 ++++++++++++++++++- 3 files changed, 40 insertions(+), 3 deletions(-) diff --git a/exemgr/main.cpp b/exemgr/main.cpp index 8106afb73..92f949f57 100644 --- a/exemgr/main.cpp +++ b/exemgr/main.cpp @@ -1354,7 +1354,9 @@ int main(int argc, char* argv[]) setenv("CALPONT_CSC_IDENT", "um", 1); #endif setupSignalHandlers(); - int err = setupResources(); + int err = 0; + if (!gDebug) + err = setupResources(); string errMsg; switch (err) { diff --git a/primitives/primproc/primproc.cpp b/primitives/primproc/primproc.cpp index b86e2f74d..ed7dcb67d 100644 --- a/primitives/primproc/primproc.cpp +++ b/primitives/primproc/primproc.cpp @@ -299,6 +299,22 @@ int main(int argc, char* argv[]) // This is unset due to the way we start it program_invocation_short_name = const_cast("PrimProc"); + int gDebug = 0; + int c; + + while ((c = getopt(argc, argv, "d")) != EOF) + { + switch(c) + { + case 'd': + gDebug++; + break; + case '?': + default: + break; + } + } + Config* cf = Config::makeConfig(); setupSignalHandlers(); @@ -307,7 +323,9 @@ int main(int argc, char* argv[]) mlp = new primitiveprocessor::Logger(); - int err = setupResources(); + int err = 0; + if (!gDebug) + err = setupResources(); string errMsg; switch (err) { diff --git a/writeengine/server/we_server.cpp b/writeengine/server/we_server.cpp index 9bdb6faa6..b68a81a0b 100644 --- a/writeengine/server/we_server.cpp +++ b/writeengine/server/we_server.cpp @@ -103,6 +103,21 @@ int main(int argc, char** argv) printf ("Locale is : %s\n", systemLang.c_str() ); + int gDebug = 0; + int c; + while ((c = getopt(argc, argv, "d")) != EOF) + { + switch (c) + { + case 'd': + gDebug++; + break; + case '?': + default: + break; + } + } + //set BUSY_INIT state { // Is there a reason to have a seperate Oam instance for this? @@ -196,7 +211,9 @@ int main(int argc, char** argv) } } - int err = setupResources(); + int err = 0; + if (!gDebug) + err = setupResources(); string errMsg; switch (err) {