diff --git a/slsDetectorCalibration/jungfrauExecutables/jungfrauRawDataProcess_filetxtH5_SC.cpp b/slsDetectorCalibration/jungfrauExecutables/jungfrauRawDataProcess_filetxtH5_SC.cpp index 4261764b0..7a0c7e96b 100644 --- a/slsDetectorCalibration/jungfrauExecutables/jungfrauRawDataProcess_filetxtH5_SC.cpp +++ b/slsDetectorCalibration/jungfrauExecutables/jungfrauRawDataProcess_filetxtH5_SC.cpp @@ -13,6 +13,7 @@ #include "singlePhotonDetector.h" #include +#include #include #include #include @@ -88,6 +89,13 @@ int adjustThreads(int requestedThreads, int nSC) { return adjustedThreads; } +// Signal handler for segmentation faults +void signal_handler(int signum) { + std::cerr << "Caught signal " << signum << ": Segmentation fault (core dump)" << std::endl; + // Handle the error (e.g., clean up, abort, etc.) + exit(signum); // Exit program with the signal code +} + int main(int argc, char *argv[]) { @@ -103,6 +111,9 @@ int main(int argc, char *argv[]) { return 1; } + // Set up the signal handler for segmentation faults + signal(SIGSEGV, signal_handler); + int const fifosize = 100; //1000; int const nthreads = 10; int const csize = 3; // 3