semaphores , no usleep in receiver

git-svn-id: file:///afs/psi.ch/project/sls_det_software/svn/slsDetectorSoftware@660 951219d9-93cf-4727-9268-0efd64621fa3
This commit is contained in:
l_maliakal_d
2013-09-04 13:10:14 +00:00
parent 594c6895f8
commit 57d65fd59c
17 changed files with 338 additions and 234 deletions

View File

@ -4346,7 +4346,32 @@ int multiSlsDetector::stopReceiver(){
}
slsDetectorDefs::runStatus multiSlsDetector::startReceiverReadout(){
runStatus s,s1;
if (thisMultiDetector->masterPosition>=0)
if (detectors[thisMultiDetector->masterPosition]){
s = detectors[thisMultiDetector->masterPosition]->startReceiverReadout();
if(detectors[thisMultiDetector->masterPosition]->getErrorMask())
setErrorMask(getErrorMask()|(1<<thisMultiDetector->masterPosition));
return s;
}
if (detectors[0]) s=detectors[0]->startReceiverReadout();
for (int i=0; i<thisMultiDetector->numberOfDetectors; i++) {
s1=detectors[i]->startReceiverReadout();
if(detectors[i]->getErrorMask())
setErrorMask(getErrorMask()|(1<<i));
if (s1==ERROR)
s=ERROR;
if (s1==IDLE && s!=IDLE)
s=ERROR;
}
return s;
}
slsDetectorDefs::runStatus multiSlsDetector::getReceiverStatus(){