* Fixed random hang trying to close rigio thread
pull/1/head
David Freese 2012-05-26 14:54:45 -05:00
rodzic 52f27c8c3c
commit ff25baebcf
1 zmienionych plików z 5 dodań i 3 usunięć

Wyświetl plik

@ -1135,6 +1135,8 @@ void rigCAT_close(void)
if (rigCAT_open == false)
return;
if (rigCAT_thread == 0) return;
pthread_mutex_lock(&rigCAT_mutex);
rigCAT_exit = true;
pthread_mutex_unlock(&rigCAT_mutex);
@ -1145,7 +1147,6 @@ void rigCAT_close(void)
delete rigCAT_thread;
rigCAT_thread = 0;
rigio.ClosePort();
wf->USB(true);
rigCAT_open = false;
}
@ -1208,11 +1209,12 @@ static void *rigCAT_loop(void *args)
for (;;) {
MilliSleep(200);
if (rigCAT_bypass == true)
continue;
if (rigCAT_exit == true)
break;
if (rigCAT_bypass == true)
continue;
pthread_mutex_lock(&rigCAT_mutex);
freq = rigCAT_getfreq(progdefaults.RigCatRetries, failed);
pthread_mutex_unlock(&rigCAT_mutex);