From 1545d37f36c0e9c56c05dee1ec1cf959b296c8d7 Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Fri, 7 Oct 2016 11:40:51 +0200 Subject: [PATCH] some changes for quitting gui and continuing with acquire from command line --- .../multiSlsDetector/multiSlsDetector.cpp | 54 ++++++++++--------- .../slsDetector/slsDetectorUtils.cpp | 14 +++-- 2 files changed, 39 insertions(+), 29 deletions(-) diff --git a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp index 3ec9a77f5..55440fb7a 100644 --- a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp +++ b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp @@ -5058,7 +5058,7 @@ void multiSlsDetector::startReceivingDataThread(){ void *context; void *zmqsocket; context = zmq_ctx_new(); - zmqsocket = zmq_socket(context, ZMQ_SUB); + zmqsocket = zmq_socket(context, ZMQ_PULL); zmq_connect(zmqsocket, hostname); cout << "ZMQ Client of " << ithread << " at " << hostname << endl; cprintf(BLUE,"%d Created socket\n",ithread); @@ -5537,39 +5537,41 @@ int multiSlsDetector::enableDataStreamingFromReceiver(int enable){ if(enable >= 0){ - //destroy data threads - if(threadStarted) - createReceivingDataThreads(true); + if(threadStarted != enable){ + //destroy data threads + if(threadStarted) + createReceivingDataThreads(true); - //create data threads - if(enable > 0){ - if(createReceivingDataThreads() == FAIL){ - std::cout << "Could not create data threads in client. Aborting creating data threads in receiver" << std::endl; - //only for the first det as theres no general one - setErrorMask(getErrorMask()|(1<<0)); - detectors[0]->setErrorMask((detectors[0]->getErrorMask())|(DATA_STREAMING)); - return -1; + //create data threads + if(enable > 0){ + if(createReceivingDataThreads() == FAIL){ + std::cout << "Could not create data threads in client. Aborting creating data threads in receiver" << std::endl; + //only for the first det as theres no general one + setErrorMask(getErrorMask()|(1<<0)); + detectors[0]->setErrorMask((detectors[0]->getErrorMask())|(DATA_STREAMING)); + return -1; + } } } } - int ret=-100, ret1; - for (int idet=0; idetnumberOfDetectors; idet++) { - if (detectors[idet]) { - ret1=detectors[idet]->enableDataStreamingFromReceiver(enable); - if(detectors[idet]->getErrorMask()) - setErrorMask(getErrorMask()|(1<numberOfDetectors; idet++) { + if (detectors[idet]) { + ret1=detectors[idet]->enableDataStreamingFromReceiver(enable); + if(detectors[idet]->getErrorMask()) + setErrorMask(getErrorMask()|(1<