X-Git-Url: http://git.cinelerra-gg.org/git/?p=goodguy%2Fhistory.git;a=blobdiff_plain;f=cinelerra-5.1%2Fguicast%2Fmutex.C;h=6ac188d5e2c7222f1d3af68c02430ff2c6cfeba1;hp=6bbf279e78396f033460a1a8cfd20a3f150e3561;hb=a19a685a46ddc630010788707d9e5b9d2342af46;hpb=0d49253b107e67067b6143958fee3f8e4c0e0b6c diff --git a/cinelerra-5.1/guicast/mutex.C b/cinelerra-5.1/guicast/mutex.C index 6bbf279e..6ac188d5 100644 --- a/cinelerra-5.1/guicast/mutex.C +++ b/cinelerra-5.1/guicast/mutex.C @@ -20,17 +20,17 @@ */ #include +#include #include -#ifndef NO_GUICAST #include "bcsignals.h" -#endif #include "mutex.h" Mutex::Mutex(const char *title, int recursive) { this->title = title; + this->trace = 0; pthread_mutexattr_t attr; pthread_mutexattr_init(&attr); pthread_mutex_init(&mutex, &attr); @@ -45,9 +45,7 @@ Mutex::~Mutex() { pthread_mutex_destroy(&mutex); pthread_mutex_destroy(&recursive_lock); -#ifndef NO_GUICAST UNSET_ALL_LOCKS(this); -#endif } int Mutex::lock(const char *location) @@ -66,9 +64,7 @@ int Mutex::lock(const char *location) } -#ifndef NO_GUICAST SET_LOCK(this, title, location); -#endif if(pthread_mutex_lock(&mutex)) perror("Mutex::lock"); @@ -88,9 +84,7 @@ int Mutex::lock(const char *location) } -#ifndef NO_GUICAST SET_LOCK2 -#endif return 0; } @@ -120,11 +114,10 @@ int Mutex::unlock() count = 0; -#ifndef NO_GUICAST UNSET_LOCK(this); -#endif - if(pthread_mutex_unlock(&mutex)) perror("Mutex::unlock"); + int ret = pthread_mutex_unlock(&mutex); + if( ret ) fprintf(stderr, "Mutex::unlock: %s\n",strerror(ret)); return 0; } @@ -145,10 +138,8 @@ int Mutex::trylock(const char *location) else count = 1; -#ifndef NO_GUICAST SET_LOCK(this, title, location); SET_LOCK2 -#endif return 0; } @@ -163,11 +154,10 @@ int Mutex::reset() pthread_mutexattr_t attr; pthread_mutexattr_init(&attr); pthread_mutex_init(&mutex, &attr); + UNSET_ALL_LOCKS(this) + trace = 0; count = 0; thread_id = 0; thread_id_valid = 0; -#ifndef NO_GUICAST - UNSET_ALL_LOCKS(this) -#endif return 0; }