X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/37fdc6163ad2a672f42b7836e68461e851263cb9..ebd1552cdd3e60d5eb21f97e46570de2e17ed19f:/lib/gdi/grc.cpp diff --git a/lib/gdi/grc.cpp b/lib/gdi/grc.cpp index e4e4a861..19a32b62 100644 --- a/lib/gdi/grc.cpp +++ b/lib/gdi/grc.cpp @@ -1,10 +1,4 @@ -// for debugging use: -// #define SYNC_PAINT #include -#ifndef SYNC_PAINT -#include -#endif - #include #include #include @@ -63,8 +57,7 @@ void gRC::submit(const gOpcode &o) #ifndef SYNC_PAINT pthread_mutex_lock(&mutex); #endif - int tmp=wp; - tmp+=1; + int tmp=wp+1; if ( tmp == MAXSIZE ) tmp=0; if ( tmp == rp ) @@ -106,14 +99,17 @@ void *gRC::thread() while (rp != wp) { #endif +#ifndef SYNC_PAINT pthread_mutex_lock(&mutex); +#endif if ( rp != wp ) { - gOpcode o(queue[rp]); - rp++; + gOpcode o(queue[rp++]); if ( rp == MAXSIZE ) rp=0; +#ifndef SYNC_PAINT pthread_mutex_unlock(&mutex); +#endif if (o.opcode==gOpcode::shutdown) break; else if (o.opcode==gOpcode::notify) @@ -130,8 +126,8 @@ void *gRC::thread() } #ifndef SYNC_PAINT pthread_cond_wait(&cond, &mutex); -#endif pthread_mutex_unlock(&mutex); +#endif } } #ifndef SYNC_PAINT