X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fguicast%2Fmutex.h;h=4a1052cdaf68221777bf54f99c61c622287a1e69;hb=c279e21fc2394a7908bbd1ba8c79b116fe9fb14a;hp=76a93584fcba16703a3d945c9ffe6f5bb0d45019;hpb=5a1b2bb96f2bd6b7ef4f8031763683726c02219d;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/guicast/mutex.h b/cinelerra-5.1/guicast/mutex.h index 76a93584..4a1052cd 100644 --- a/cinelerra-5.1/guicast/mutex.h +++ b/cinelerra-5.1/guicast/mutex.h @@ -2,21 +2,21 @@ /* * CINELERRA * Copyright (C) 2008 Adam Williams - * + * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. - * + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * + * */ #ifndef MUTEX_H @@ -53,13 +53,40 @@ public: const char *title; }; -class mLock -{ - Mutex &mutex; +#if 0 +#include + +class TMutex : public Mutex +{ // logged public: - mLock(Mutex &m) : mutex(m) { mutex.lock(); } - mLock(Mutex *m) : mutex(*m) { mutex.lock(); } - ~mLock() { mutex.unlock(); } + TMutex(const char *title = 0, int recursive = 0) + : Mutex(title, recursive) { + printf("new TMutex(%s) = %p\n", title, this); + } + ~TMutex() { + printf("del TMutex(%s) = %p\n", title, this); + } + int lock(const char *location = 0) { + printf("locking %p: %s\n", this, title); int ret = Mutex::lock(location); + printf("locked %p:%d %s\n", this, ret, title); return ret; + } + int unlock() { + printf("unlocking %p: %s\n", this, title); return Mutex::unlock(); + } + int trylock(const char *location = 0) { + printf("try locking %p: %s\n", this, title); int ret = Mutex::trylock(location); + printf("try locked %p:%d %s\n", this, ret, title); return ret; + } + int reset() { + printf("reset %p: %s\n", this, title); + return Mutex::reset(); + } + int is_locked() { + int ret = Mutex::is_locked(); + printf("is_locked %p:%d %s\n", this, ret, title); + return ret; + } }; #endif +#endif