add file size toggle icons, ff_lut3d icon, fullscrn clk2play fix, timebar endpt curso...
[goodguy/history.git] / cinelerra-5.1 / guicast / condition.C
index f45a9cd8785decfbe77f91f8a4776e0231333ba4..6bd8169e4a4a5e31be0b98b6973543bd293d4f7e 100644 (file)
@@ -2,26 +2,24 @@
 /*
  * CINELERRA
  * Copyright (C) 2008 Adam Williams <broadcast at earthling dot net>
- * 
+ *
  * 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 NO_GUICAST
 #include "bcsignals.h"
-#endif
 #include "condition.h"
 
 #include <errno.h>
@@ -34,6 +32,7 @@ Condition::Condition(int init_value, const char *title, int is_binary)
 {
        this->is_binary = is_binary;
        this->title = title;
+       this->trace = 0;
        pthread_mutex_init(&mutex, 0);
        pthread_cond_init(&cond, NULL);
        this->value = this->init_value = init_value;
@@ -43,9 +42,7 @@ Condition:: ~Condition()
 {
        pthread_cond_destroy(&cond);
        pthread_mutex_destroy(&mutex);
-#ifndef NO_GUICAST
        UNSET_ALL_LOCKS(this);
-#endif
 }
 
 void Condition::reset()
@@ -54,19 +51,17 @@ void Condition::reset()
        pthread_mutex_destroy(&mutex);
        pthread_mutex_init(&mutex, 0);
        pthread_cond_init(&cond, NULL);
+       UNSET_ALL_LOCKS(this);
        value = init_value;
+       trace = 0;
 }
 
 void Condition::lock(const char *location)
 {
-#ifndef NO_GUICAST
        SET_LOCK(this, title, location);
-#endif
        pthread_mutex_lock(&mutex);
        while(value <= 0) pthread_cond_wait(&cond, &mutex);
-#ifndef NO_GUICAST
        UNSET_LOCK2
-#endif
        if(is_binary)
                value = 0;
        else
@@ -77,9 +72,7 @@ void Condition::lock(const char *location)
 void Condition::unlock()
 {
 // The lock trace is created and removed by the acquirer
-//#ifndef NO_GUICAST
 //     UNSET_LOCK(this);
-//#endif
        pthread_mutex_lock(&mutex);
        if(is_binary)
                value = 1;
@@ -93,9 +86,7 @@ int Condition::timed_lock(int microseconds, const char *location)
 {
        int result = 0;
 
-#ifndef NO_GUICAST
        SET_LOCK(this, title, location);
-#endif
        pthread_mutex_lock(&mutex);
 
        struct timeval now;
@@ -131,9 +122,7 @@ int Condition::timed_lock(int microseconds, const char *location)
        }
 #endif
 
-#ifndef NO_GUICAST
        UNSET_LOCK2
-#endif
 //printf("Condition::timed_lock 2 %d %s %s\n", result, title, location);
        if( !result ) {
                if(is_binary)