Merge CV, ver=5.1; ops/methods from HV, and interface from CV where possible
[goodguy/history.git] / cinelerra-5.0 / db / thr.h
diff --git a/cinelerra-5.0/db/thr.h b/cinelerra-5.0/db/thr.h
deleted file mode 100644 (file)
index 1feb234..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-#ifndef __THR_H__
-#define __THR_H__
-#include <cstdio>
-#include <stdlib.h>
-#include <signal.h>
-#include <pthread.h>
-
-class Mutex;
-class Condition;
-
-class Mutex {
-  pthread_mutex_t mutex;
-public:
-  friend class Condition;
-  Mutex() { pthread_mutex_init(&mutex, 0); }
-  ~Mutex() { pthread_mutex_destroy(&mutex); }
-  int lock() { return pthread_mutex_lock(&mutex); }
-  int trylock() { return pthread_mutex_trylock(&mutex); }
-  int unlock() { return pthread_mutex_unlock(&mutex); }
-  void reset() { pthread_mutex_destroy(&mutex); pthread_mutex_init(&mutex,0); }
-};
-
-class Condition : public Mutex {
-  pthread_cond_t cond;
-  int init_v;
-  volatile int v;
-public:
-  int lock() {
-    Mutex::lock();  while(v <= 0) pthread_cond_wait(&cond, &mutex);
-    --v;  Mutex::unlock(); return 0;
-  }
-  void unlock() { Mutex::lock(); ++v; pthread_cond_signal(&cond); Mutex::unlock(); }
-  Condition(int iv=1) : init_v(iv) {
-    v = init_v;  pthread_cond_init(&cond, NULL);
-  }
-  ~Condition() { pthread_cond_destroy(&cond); }
-  void reset() {
-    pthread_cond_destroy(&cond); pthread_cond_init(&cond, NULL);
-    Mutex::reset();  v = 1;
-  }
-};
-
-class Thread {
-private:
-  int started, active;
-  pthread_t owner_tid, tid;
-public:
-  virtual void run() = 0;
-  static void *proc(void *t) { ((Thread*)t)->run(); return 0; }
-  pthread_t owner() { return owner_tid; }
-  pthread_t self() { return tid; }
-  int running() { return active; }
-  int cancel() {
-    if( started ) { started = 0; pthread_cancel(tid); }
-    return 0;
-  }
-  void start() {
-    started = active = 1;
-    pthread_create(&tid, 0, proc,(void*)this);
-  }
-  void join() { if( active ) { pthread_join(tid, 0); active = 0; } }
-  void pause() { pthread_kill(tid, SIGSTOP); }
-  void resume() { pthread_kill(tid, SIGCONT); }
-  Thread() { started = active = 0; owner_tid = pthread_self(); }
-  virtual ~Thread() {}
-
-};
-
-// old stuff
-
-class thread : public Thread {
-  int done;
-  Condition ready;
-public:
-  thread() { done = 0;  ready.lock();  start(); }
-  ~thread() { Kill(); }
-
-  virtual void Proc () = 0;
-  void run() { while( !done ) { ready.lock(); if( !done ) Proc(); } }
-  void Run() { ready.unlock(); }
-  void Kill() { done = 1; Run(); join(); }
-};
-
-class Lock : public Mutex {};
-
-static inline void yield() { pthread_yield(); }
-
-#endif