summaryrefslogtreecommitdiff
path: root/src/threadsafe_queue_priority.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/threadsafe_queue_priority.cc')
-rw-r--r--src/threadsafe_queue_priority.cc101
1 files changed, 0 insertions, 101 deletions
diff --git a/src/threadsafe_queue_priority.cc b/src/threadsafe_queue_priority.cc
deleted file mode 100644
index df7ae8c..0000000
--- a/src/threadsafe_queue_priority.cc
+++ /dev/null
@@ -1,101 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/***************************************************************************
- * threadsafe_queue_priority.cc
- *
- * Tue Sep 27 14:01:24 CEST 2005
- * Copyright 2005 Bent Bisballe Nyeng
- * deva@aasimon.org
- ****************************************************************************/
-
-/*
- * This file is part of MIaV.
- *
- * MIaV 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.
- *
- * MIaV 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 MIaV; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
- */
-#include "config.h"
-#include "threadsafe_queue_priority.h"
-
-#include "util.h"
-
-ThreadSafeQueuePriority::ThreadSafeQueuePriority(Info* i, unsigned int number)
- // : ThreadSafeQueue< Frame* >()
-{
- info = i;
- framenumber = number;
-}
-
-ThreadSafeQueuePriority::~ThreadSafeQueuePriority()
-{
-}
-
-void ThreadSafeQueuePriority::push(Frame *frame)
-{
- // Lock mutex
- // pthread_mutex_lock( &mutex );
- mutex.lock();
- queue.push(frame);
- // pthread_mutex_unlock( &mutex );
- mutex.unlock();
- // Unlock mutex
-
- // sem_post(&semaphore);
- semaphore.post();
-}
-
-Frame *ThreadSafeQueuePriority::pop()
-{
- semaphore.wait();
- // sem_wait(&semaphore);
-
- Frame *tmpframe = NULL;
- Frame *frame = NULL;
-
- while( frame == NULL ) {
- // Lock mutex
- // pthread_mutex_lock( &mutex );
- mutex.lock();
-
- tmpframe = queue.top();
-
- if(tmpframe && tmpframe->number == framenumber ) {
- queue.pop();
- frame = tmpframe;
- framenumber++;
- }
-
- // pthread_mutex_unlock( &mutex );
- mutex.unlock();
- // Unlock mutex
-
- if(frame == NULL) sleep_0_2_frame();
- }
-
- return frame;
-}
-
-int ThreadSafeQueuePriority::size()
-{
- int sz;
-
- // Lock mutex
- // pthread_mutex_lock( &mutex );
- mutex.lock();
- sz = queue.size();
- // pthread_mutex_unlock( &mutex );
- mutex.unlock();
- // Unlock mutex
-
- return sz;
-}