From 48775e1ce9eb0dd53908110454d068a8b16a66ec Mon Sep 17 00:00:00 2001
From: deva <deva>
Date: Sat, 8 Oct 2005 16:07:50 +0000
Subject: *** empty log message ***

---
 src/threadsafe_queue_fifo.cc | 38 +++++++++++++-------------------
 src/threadsafe_queue_fifo.h  | 52 +++++---------------------------------------
 2 files changed, 21 insertions(+), 69 deletions(-)

(limited to 'src')

diff --git a/src/threadsafe_queue_fifo.cc b/src/threadsafe_queue_fifo.cc
index 633cb58..50c1067 100644
--- a/src/threadsafe_queue_fifo.cc
+++ b/src/threadsafe_queue_fifo.cc
@@ -26,10 +26,9 @@
  */
 #include "config.h"
 #include "threadsafe_queue_fifo.h"
-/*
+
 template <typename T>
 ThreadSafeQueueFIFO<T>::ThreadSafeQueueFIFO()
-  //  : ThreadSafeQueue<T>()
 {
 }
 
@@ -41,29 +40,25 @@ ThreadSafeQueueFIFO<T>::~ThreadSafeQueueFIFO()
 template <typename T>
 void ThreadSafeQueueFIFO<T>::push(T t)
 {
-  // Lock mutex
-  pthread_mutex_lock( &mutex );
+  mutex.lock();
   queue.push(t);
-  pthread_mutex_unlock( &mutex );
-  // Unlock mutex
-
-  sem_post(&semaphore);
+  mutex.unlock();
+  
+  semaphore.post();
 }
 
 template <typename T>
 T ThreadSafeQueueFIFO<T>::pop()
 {
-  sem_wait(&semaphore);
-
+  semaphore.wait();
+  
   T t;
-
-  // Lock mutex
-  pthread_mutex_lock( &mutex );
+  
+  mutex.lock();
   t = queue.front();
   queue.pop();
-  pthread_mutex_unlock( &mutex );
-  // Unlock mutex
-
+  mutex.unlock();
+  
   return t;
 }
 
@@ -71,13 +66,10 @@ template <typename T>
 int ThreadSafeQueueFIFO<T>::size()
 {
   int sz;
-
-  // Lock mutex
-  pthread_mutex_lock( &mutex );
+  
+  mutex.lock();
   sz = queue.size();
-  pthread_mutex_unlock( &mutex );
-  // Unlock mutex
-
+  mutex.unlock();
+  
   return sz;
 }
-*/
diff --git a/src/threadsafe_queue_fifo.h b/src/threadsafe_queue_fifo.h
index 404e2f9..9baf82e 100644
--- a/src/threadsafe_queue_fifo.h
+++ b/src/threadsafe_queue_fifo.h
@@ -32,54 +32,14 @@
 #include <queue>
 
 template <typename T>
-class ThreadSafeQueueFIFO: ThreadSafeQueue<T> {
+class ThreadSafeQueueFIFO: public ThreadSafeQueue<T> {
 public:
-  ThreadSafeQueueFIFO() {}
-  ~ThreadSafeQueueFIFO() {}
+  ThreadSafeQueueFIFO();
+  ~ThreadSafeQueueFIFO();
 
-  void push(T t) {
-    // Lock mutex
-    //    pthread_mutex_lock( &mutex );
-    mutex.lock();
-    queue.push(t);
-    //    pthread_mutex_unlock( &mutex );
-    mutex.unlock();
-    // Unlock mutex
-
-    semaphore.post();
-    //sem_post(&semaphore);
-  }
-
-  T pop() {
-    semaphore.wait();
-    //    sem_wait(&semaphore);
-    T t;
-
-    // Lock mutex
-    //    pthread_mutex_lock( &mutex );
-    mutex.lock();
-    t = queue.front();
-    queue.pop();
-    //    pthread_mutex_unlock( &mutex );
-    mutex.unlock();
-    // Unlock mutex
-
-    return t;
-  }
-
-  int size() {
-    int sz;
-
-    // Lock mutex
-    //    pthread_mutex_lock( &mutex );
-    mutex.lock();
-    sz = queue.size();
-    //    pthread_mutex_unlock( &mutex );
-    mutex.unlock();
-    // Unlock mutex
-    
-    return sz;
-  }
+  void push(T t);
+  T pop();
+  int size();
 
 private:
   std::queue<T> queue;
-- 
cgit v1.2.3