diff --git a/slsDetectorServers/slsDetectorServer/src/slsDetectorServer.c b/slsDetectorServers/slsDetectorServer/src/slsDetectorServer.c index d6c39d082..df17a5518 100644 --- a/slsDetectorServers/slsDetectorServer/src/slsDetectorServer.c +++ b/slsDetectorServers/slsDetectorServer/src/slsDetectorServer.c @@ -152,12 +152,12 @@ int main(int argc, char *argv[]) { strcpy(version, APIXILINXCTB); #endif LOG(logINFO, ("SLS Detector Server Version: %s\n", version)); - exit(EXIT_SUCCESS); + return EXIT_SUCCESS; case 'p': if (sscanf(optarg, "%d", &portno) != 1) { LOG(logERROR, ("Cannot scan port argument\n%s", helpMessage)); - exit(EXIT_FAILURE); + return EXIT_FAILURE; } LOG(logINFO, ("Detected port: %d\n", portno)); break; @@ -188,7 +188,7 @@ int main(int argc, char *argv[]) { ignoreConfigFileFlag = 1; #else LOG(logERROR, ("No server config files for this detector\n")); - exit(EXIT_FAILURE); + return EXIT_FAILURE; #endif break; @@ -196,11 +196,11 @@ int main(int argc, char *argv[]) { #if !defined(VIRTUAL) && !defined(EIGERD) LOG(logERROR, ("Cannot set master via the detector server for this " "detector\n")); - exit(EXIT_FAILURE); + return EXIT_FAILURE; #elif defined(GOTTHARD2D) || defined(EIGERD) || defined(MYTHEN3D) if (sscanf(optarg, "%d", &masterCommandLine) != 1) { LOG(logERROR, ("Cannot scan master argument\n%s", helpMessage)); - exit(EXIT_FAILURE); + return EXIT_FAILURE; } if (masterCommandLine == 1) { LOG(logINFO, ("Detector Master mode\n")); @@ -209,7 +209,7 @@ int main(int argc, char *argv[]) { } #else LOG(logERROR, ("No master implemented for this detector server\n")); - exit(EXIT_FAILURE); + return EXIT_FAILURE; #endif break; @@ -217,7 +217,7 @@ int main(int argc, char *argv[]) { #ifdef EIGERD if (sscanf(optarg, "%d", &topCommandLine) != 1) { LOG(logERROR, ("Cannot scan top argument\n%s", helpMessage)); - exit(EXIT_FAILURE); + return EXIT_FAILURE; } if (topCommandLine == 1) { LOG(logINFO, ("Detector Top mode\n")); @@ -226,16 +226,16 @@ int main(int argc, char *argv[]) { } #else LOG(logERROR, ("No top implemented for this detector server\n")); - exit(EXIT_FAILURE); + return EXIT_FAILURE; #endif break; case 'h': printf("%s", helpMessage); - exit(EXIT_SUCCESS); + return EXIT_SUCCESS; default: printf("\n%s", helpMessage); - exit(EXIT_FAILURE); + return EXIT_FAILURE; } } @@ -376,5 +376,5 @@ int main(int argc, char *argv[]) { #endif } LOG(logINFO, ("Goodbye!\n")); - return 0; + return EXIT_SUCCESS; } diff --git a/slsDetectorSoftware/src/CmdApp.cpp b/slsDetectorSoftware/src/CmdApp.cpp index facb584a8..946b4f9c2 100644 --- a/slsDetectorSoftware/src/CmdApp.cpp +++ b/slsDetectorSoftware/src/CmdApp.cpp @@ -84,7 +84,7 @@ int main(int argc, char *argv[]) { c.call(parser.command(), parser.arguments(), parser.detector_id(), action, std::cout, parser.receiver_id()); } catch (sls::RuntimeError &e) { - exit(EXIT_FAILURE); + return EXIT_FAILURE; } - exit(EXIT_SUCCESS); + return EXIT_SUCCESS; } \ No newline at end of file diff --git a/slsReceiverSoftware/src/FrameSynchronizerApp.cpp b/slsReceiverSoftware/src/FrameSynchronizerApp.cpp index 9950cbdd3..95adb4b54 100644 --- a/slsReceiverSoftware/src/FrameSynchronizerApp.cpp +++ b/slsReceiverSoftware/src/FrameSynchronizerApp.cpp @@ -527,7 +527,7 @@ int main(int argc, char *argv[]) { case 'v': std::cout << argv[0] << " Version: " << APIRECEIVER << std::endl; - exit(EXIT_SUCCESS); + return (EXIT_SUCCESS); case 'n': try { @@ -564,17 +564,17 @@ int main(int argc, char *argv[]) { case 'h': std::cout << help_message << std::endl; - exit(EXIT_SUCCESS); + return (EXIT_SUCCESS); default: LOG(sls::logERROR) << help_message; - exit(EXIT_FAILURE); + return (EXIT_FAILURE); } } // remaining arguments if (optind < argc) { LOG(sls::logERROR) << "Invalid arguments\n" << help_message; - exit(EXIT_FAILURE); + return (EXIT_FAILURE); } LOG(sls::logINFOBLUE) << "Current Process [ Tid: " << gettid() << ']'; diff --git a/slsReceiverSoftware/src/MultiReceiverApp.cpp b/slsReceiverSoftware/src/MultiReceiverApp.cpp index 954f1235e..c354059d1 100644 --- a/slsReceiverSoftware/src/MultiReceiverApp.cpp +++ b/slsReceiverSoftware/src/MultiReceiverApp.cpp @@ -139,10 +139,9 @@ void GetData(slsDetectorDefs::sls_receiver_header &header, */ void sigInterruptHandler(int p) { sem_post(&semaphore); } -void GetDeprecatedCommandLineOptions(int argc, char *argv[], - uint16_t &startPort, - uint16_t &numReceivers, - bool &callbackEnabled) { +int GetDeprecatedCommandLineOptions(int argc, char *argv[], uint16_t &startPort, + uint16_t &numReceivers, + bool &callbackEnabled) { std::string deprecatedMessage = "Detected deprecated Options. Please update.\n"; if (argc > 1) { @@ -154,12 +153,12 @@ void GetDeprecatedCommandLineOptions(int argc, char *argv[], LOG(sls::logWARNING) << deprecatedMessage; LOG(sls::logERROR) << "Did you mix up the order of the arguments?"; - exit(EXIT_FAILURE); + return slsDetectorDefs::FAIL; } if (numReceivers == 0) { LOG(sls::logWARNING) << deprecatedMessage; LOG(sls::logERROR) << "Invalid number of receivers."; - exit(EXIT_FAILURE); + return slsDetectorDefs::FAIL; } if (argc == 4) { callbackEnabled = sls::StringTo(argv[3]); @@ -169,9 +168,10 @@ void GetDeprecatedCommandLineOptions(int argc, char *argv[], } catch (const std::exception &e) { LOG(sls::logWARNING) << deprecatedMessage; LOG(sls::logERROR) << e.what(); - exit(EXIT_FAILURE); + return slsDetectorDefs::FAIL; } } + return slsDetectorDefs::OK; } std::string getHelpMessage() { @@ -221,7 +221,7 @@ int main(int argc, char *argv[]) { case 'v': std::cout << argv[0] << " Version: " << APIRECEIVER << std::endl; - exit(EXIT_SUCCESS); + return EXIT_SUCCESS; case 'n': try { @@ -262,18 +262,20 @@ int main(int argc, char *argv[]) { case 'h': std::cout << help_message << std::endl; - exit(EXIT_SUCCESS); + return EXIT_SUCCESS; default: LOG(sls::logERROR) << help_message; - exit(EXIT_FAILURE); + return EXIT_FAILURE; } } // if remaining arguments, maintain backward compatibility of [startport] // [num-receivers] [callback] if (optind < argc) { - GetDeprecatedCommandLineOptions(argc, argv, startPort, numReceivers, - callbackEnabled); + if (slsDetectorDefs::FAIL == + GetDeprecatedCommandLineOptions(argc, argv, startPort, numReceivers, + callbackEnabled)) + return EXIT_FAILURE; } LOG(sls::logINFOBLUE) << "Current Process [ Tid: " << gettid() << ']'; @@ -381,7 +383,7 @@ int main(int argc, char *argv[]) { LOG(sls::logINFOBLUE) << "Exiting Child Process [ Tid: " << gettid() << ']'; - exit(EXIT_SUCCESS); + return EXIT_SUCCESS; } } @@ -422,5 +424,5 @@ int main(int argc, char *argv[]) { } std::cout << "Goodbye!\n"; - return 0; + return EXIT_SUCCESS; } diff --git a/slsReceiverSoftware/src/ReceiverApp.cpp b/slsReceiverSoftware/src/ReceiverApp.cpp index bc3b99ef3..e33b2e96f 100644 --- a/slsReceiverSoftware/src/ReceiverApp.cpp +++ b/slsReceiverSoftware/src/ReceiverApp.cpp @@ -53,7 +53,7 @@ int main(int argc, char *argv[]) { case 'v': std::cout << argv[0] << " Version: " << APIRECEIVER << std::endl; - exit(EXIT_SUCCESS); + return (EXIT_SUCCESS); case 't': LOG(sls::logWARNING) @@ -78,17 +78,17 @@ int main(int argc, char *argv[]) { case 'h': std::cout << help_message << std::endl; - exit(EXIT_SUCCESS); + return (EXIT_SUCCESS); default: LOG(sls::logERROR) << help_message; - exit(EXIT_FAILURE); + return (EXIT_FAILURE); } } // remaining arguments if (optind < argc) { LOG(sls::logERROR) << "Invalid arguments\n" << help_message; - exit(EXIT_FAILURE); + return (EXIT_FAILURE); } LOG(sls::logINFOBLUE) << "Current Process [ Tid: " << gettid() << " ]"; @@ -147,5 +147,5 @@ int main(int argc, char *argv[]) { } LOG(sls::logINFOBLUE) << "Exiting [ Tid: " << gettid() << " ]"; LOG(sls::logINFO) << "Exiting Receiver"; - return 0; + return EXIT_SUCCESS; }