locking improved

This commit is contained in:
Dhanya Maliakal 2016-10-07 11:56:04 +02:00
parent 1545d37f36
commit 125c3a789a

View File

@ -69,24 +69,6 @@ int slsDetectorUtils::acquire(int delflag){
ret = enableDataStreamingFromReceiver(-1); ret = enableDataStreamingFromReceiver(-1);
cout<<"getting datastream:"<<ret<<endl; cout<<"getting datastream:"<<ret<<endl;
cout<<"result of enabledatastream:"<<enableDataStreamingFromReceiver(ret)<<endl; cout<<"result of enabledatastream:"<<enableDataStreamingFromReceiver(ret)<<endl;
/*
ret = enableDataStreamingFromReceiver(-1);
cout<<"ret of datastream:"<<ret<<endl;
if(dataReady == NULL){cout<<"dataready is null"<<endl;
if(ret){
cout << "Disabling Data Streaming from Receiver" << endl;
enableDataStreamingFromReceiver(0); //no call back but streaming enabled, then dont stream.
}
}else{cout<<"dataeady is not nul"<<endl;
if(*threadedProcessing && (ret <= 0)){
cout << "Enabling Data Streaming from Receiver" << endl;
enableDataStreamingFromReceiver(1); //call back exists, threaded but streaming disabled, then stream.
}
}
*/
} }
int nc=setTimer(CYCLES_NUMBER,-1); int nc=setTimer(CYCLES_NUMBER,-1);
@ -188,7 +170,9 @@ int slsDetectorUtils::acquire(int delflag){
//resets frames caught in receiver //resets frames caught in receiver
if(receiver){ if(receiver){
pthread_mutex_lock(&mg);
resetFramesCaught(); resetFramesCaught();
pthread_mutex_unlock(&mg);
} }
@ -297,7 +281,7 @@ int slsDetectorUtils::acquire(int delflag){
if(receiver){ if(receiver){
pthread_mutex_unlock(&mg);//unlock previous pthread_mutex_unlock(&mg);
pthread_mutex_lock(&mp); pthread_mutex_lock(&mp);
createFileName(); createFileName();
pthread_mutex_unlock(&mp); pthread_mutex_unlock(&mp);
@ -357,6 +341,7 @@ int slsDetectorUtils::acquire(int delflag){
break; break;
pthread_mutex_lock(&mg);
//offline //offline
if(setReceiverOnline()==OFFLINE_FLAG){ if(setReceiverOnline()==OFFLINE_FLAG){
if ((getDetectorsType()==GOTTHARD) || (getDetectorsType()==MOENCH) || (getDetectorsType()==JUNGFRAU) ){ if ((getDetectorsType()==GOTTHARD) || (getDetectorsType()==MOENCH) || (getDetectorsType()==JUNGFRAU) ){
@ -366,12 +351,10 @@ int slsDetectorUtils::acquire(int delflag){
} }
//online //online
else{ else{
pthread_mutex_lock(&mg);
stopReceiver(); stopReceiver();
pthread_mutex_unlock(&mg);
// cout<<"***********receiver stopped"<<endl; // cout<<"***********receiver stopped"<<endl;
} }
pthread_mutex_unlock(&mg);