diff -r 65f32c94d7ec -r 3b99c908f43b svghmi/svghmi.c --- a/svghmi/svghmi.c Tue Dec 03 09:46:12 2019 +0100 +++ b/svghmi/svghmi.c Mon Dec 09 10:43:54 2019 +0100 @@ -198,7 +198,11 @@ { bzero(rbuf,sizeof(rbuf)); bzero(wbuf,sizeof(wbuf)); + + pthread_mutex_lock(&svghmi_send_WakeCondLock); continue_collect = 1; + pthread_cond_signal(&svghmi_send_WakeCond); + pthread_mutex_unlock(&svghmi_send_WakeCondLock); return 0; } @@ -230,12 +234,8 @@ int do_collect; pthread_mutex_lock(&svghmi_send_WakeCondLock); + pthread_cond_wait(&svghmi_send_WakeCond, &svghmi_send_WakeCondLock); do_collect = continue_collect; - if(do_collect) - { - pthread_cond_wait(&svghmi_send_WakeCond, &svghmi_send_WakeCondLock); - do_collect = continue_collect; - } pthread_mutex_unlock(&svghmi_send_WakeCondLock); if(do_collect) {