From 739f61a1ef2a3327b5e8de46aae5a8d6ba4bb2aa Mon Sep 17 00:00:00 2001 From: Andrew Hutchings Date: Wed, 8 Feb 2017 17:13:30 +0000 Subject: [PATCH] MCOL-553 Error if we can't set file limits Especially for non-root installs. Otherwise we could be in for some pain later... --- exemgr/main.cpp | 21 ++++++++++++++++++++- primitives/primproc/primproc.cpp | 26 +++++++++++++++++++------- writeengine/server/we_server.cpp | 21 ++++++++++++++++++++- 3 files changed, 59 insertions(+), 9 deletions(-) diff --git a/exemgr/main.cpp b/exemgr/main.cpp index cb84213fd..a552e65a7 100644 --- a/exemgr/main.cpp +++ b/exemgr/main.cpp @@ -1342,7 +1342,26 @@ int main(int argc, char* argv[]) setenv("CALPONT_CSC_IDENT", "um", 1); #endif setupSignalHandlers(); - setupResources(); + int err = setupResources(); + switch (err) + { + case -1: + case -3: + cerr << "Error getting file limits, please see non-root install documentation" << endl; + return -1; + break; + case -2: + cerr << "Error setting file limits, please see non-root install documentation" << endl; + return -1; + break; + case -4: + cerr << "Could not install file limits to required value, please see non-root install documentation" << endl; + return -1; + break; + default: + break; + } + setupCwd(rm); diff --git a/primitives/primproc/primproc.cpp b/primitives/primproc/primproc.cpp index 7fc0c36f2..a43177351 100644 --- a/primitives/primproc/primproc.cpp +++ b/primitives/primproc/primproc.cpp @@ -296,13 +296,25 @@ int main(int argc, char* argv[]) mlp = new primitiveprocessor::Logger(); - int rc; - rc = setupResources(); - if (rc) { - Message::Args args; - args.add(rc); - //mlp->logMessage(logging::M0016, args); - } + int err = setupResources(); + switch (err) + { + case -1: + case -3: + cerr << "Error getting file limits, please see non-root install documentation" << endl; + return -1; + break; + case -2: + cerr << "Error setting file limits, please see non-root install documentation" << endl; + return -1; + break; + case -4: + cerr << "Could not install file limits to required value, please see non-root install documentation" << endl; + return -1; + break; + default: + break; + } int serverThreads = 1; int serverQueueSize = 10; diff --git a/writeengine/server/we_server.cpp b/writeengine/server/we_server.cpp index b5365fe0f..a6dacb3c1 100644 --- a/writeengine/server/we_server.cpp +++ b/writeengine/server/we_server.cpp @@ -130,7 +130,26 @@ int main(int argc, char** argv) idbdatafile::IDBPolicy::configIDBPolicy(); #endif Config weConfig; - setupResources(); + int err = setupResources(); + switch (err) + { + case -1: + case -3: + cerr << "Error getting file limits, please see non-root install documentation" << endl; + return -1; + break; + case -2: + cerr << "Error setting file limits, please see non-root install documentation" << endl; + return -1; + break; + case -4: + cerr << "Could not install file limits to required value, please see non-root install documentation" << endl; + return -1; + break; + default: + break; + } + ostringstream serverParms; serverParms << "pm" << weConfig.getLocalModuleID() << "_WriteEngineServer";