mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-13 13:27:14 +02:00
replaced usleep which waits for queue to have data, with semaphores
git-svn-id: file:///afs/psi.ch/project/sls_det_software/svn/slsDetectorSoftware@732 951219d9-93cf-4727-9268-0efd64621fa3
This commit is contained in:
@ -1365,6 +1365,7 @@ int* multiSlsDetector::readFrame(){
|
||||
}
|
||||
}
|
||||
dataQueue.push(retval);
|
||||
sem_post(&queue_mutex);
|
||||
return retval;
|
||||
|
||||
};
|
||||
@ -1400,6 +1401,7 @@ int* multiSlsDetector::readAll(){
|
||||
//std::cout << "-" << flush;
|
||||
#endif
|
||||
dataQueue.push(retval);
|
||||
sem_post(&queue_mutex);
|
||||
}
|
||||
for (int id=0; id<thisMultiDetector->numberOfDetectors; id++) {
|
||||
if (detectors[id]) {
|
||||
@ -1440,6 +1442,7 @@ int* multiSlsDetector::startAndReadAll(){
|
||||
//std::cout << "-" << flush;
|
||||
#endif
|
||||
dataQueue.push(retval);
|
||||
sem_post(&queue_mutex);
|
||||
}
|
||||
|
||||
for (int id=0; id<thisMultiDetector->numberOfDetectors; id++) {
|
||||
@ -1530,6 +1533,7 @@ slsDetectorDefs::runStatus multiSlsDetector::getRunStatus() {
|
||||
|
||||
int* multiSlsDetector::popDataQueue() {
|
||||
int *retval=NULL;
|
||||
sem_wait(&queue_mutex);
|
||||
if( !dataQueue.empty() ) {
|
||||
retval=dataQueue.front();
|
||||
dataQueue.pop();
|
||||
@ -1549,11 +1553,11 @@ detectorData* multiSlsDetector::popFinalDataQueue() {
|
||||
void multiSlsDetector::resetDataQueue() {
|
||||
int *retval=NULL;
|
||||
while( !dataQueue.empty() ) {
|
||||
sem_wait(&queue_mutex);
|
||||
retval=dataQueue.front();
|
||||
dataQueue.pop();
|
||||
delete [] retval;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void multiSlsDetector::resetFinalDataQueue() {
|
||||
|
Reference in New Issue
Block a user