improved locking a bit

This commit is contained in:
Dhanya Maliakal 2016-10-19 10:46:03 +02:00
parent 121e9faf56
commit 44a69e2aee
2 changed files with 8 additions and 9 deletions

View File

@ -171,7 +171,9 @@ int slsDetectorUtils::acquire(int delflag){
//resets frames caught in receiver
if(receiver){
pthread_mutex_lock(&mg);
resetFramesCaught();
pthread_mutex_unlock(&mg);
}
for(int im=0;im<nm;im++) {
@ -340,9 +342,9 @@ int slsDetectorUtils::acquire(int delflag){
//offline
pthread_mutex_lock(&mg);
if(setReceiverOnline()==OFFLINE_FLAG){
// wait until data processing thread has finished the data
pthread_mutex_lock(&mg);
acquiringDone = 1;
pthread_mutex_unlock(&mg);
if (*threadedProcessing) {
@ -372,7 +374,6 @@ int slsDetectorUtils::acquire(int delflag){
//online
else{
pthread_mutex_lock(&mg);
acquiringDone = 1;
pthread_mutex_unlock(&mg);

View File

@ -512,12 +512,10 @@ void* postProcessing::processData(int delflag) {
usleep(20000); //20ms need this else connecting error to receiver (too fast)
//get progress
if(setReceiverOnline() == ONLINE_FLAG){
pthread_mutex_lock(&mg);
pthread_mutex_lock(&mg);
if(setReceiverOnline() == ONLINE_FLAG)
caught = getFramesCaughtByReceiver();
pthread_mutex_unlock(&mg);
}
pthread_mutex_unlock(&mg);
//updating progress
if(caught!= -1){
setCurrentProgress(caught);
@ -609,13 +607,12 @@ void* postProcessing::processData(int delflag) {
}
//gui
else{
pthread_mutex_lock(&mg);
if(setReceiverOnline()==ONLINE_FLAG){
//get data
strcpy(currentfName,"");
pthread_mutex_lock(&mg);
//int* receiverData = new int [getTotalNumberOfChannels()];
int* receiverData = readFrameFromReceiver(currentfName,currentAcquisitionIndex,currentFrameIndex,currentSubFrameIndex);
pthread_mutex_unlock(&mg);
//if detector returned null
if(setReceiverOnline()==OFFLINE_FLAG)
@ -659,6 +656,7 @@ void* postProcessing::processData(int delflag) {
}
}
}
pthread_mutex_unlock(&mg);
}
}