diff options
-rw-r--r-- | configure.ac | 2 | ||||
-rw-r--r-- | raul/Condition.h | 50 | ||||
-rw-r--r-- | raul/Makefile.am | 2 | ||||
-rw-r--r-- | raul/Mutex.h | 49 |
4 files changed, 1 insertions, 102 deletions
diff --git a/configure.ac b/configure.ac index f6bb874..0fcf617 100644 --- a/configure.ac +++ b/configure.ac @@ -1,7 +1,7 @@ AC_PREREQ(2.59) AC_INIT(raul, 0.1.0, [dave@drobilla.net]) #AC_CONFIG_HEADER([config.h]) -AC_CONFIG_SRCDIR([raul/Mutex.h]) +AC_CONFIG_SRCDIR([raul/Semaphore.h]) AM_INIT_AUTOMAKE AC_LANG([C++]) diff --git a/raul/Condition.h b/raul/Condition.h deleted file mode 100644 index 2c0b5aa..0000000 --- a/raul/Condition.h +++ /dev/null @@ -1,50 +0,0 @@ -/* This file is part of Raul. - * Copyright (C) 2007 Dave Robillard <http://drobilla.net> - * - * Raul 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. - * - * Raul 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 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., - * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#ifndef RAUL_CONDITION_H -#define RAUL_CONDITION_H - -#include <pthread.h> -#include <boost/utility.hpp> - -namespace Raul { - - -/** Trivial (zero overhead) wrapper around POSIX Conditions. - * - * A semaphore that isn't a counter, is slow, and not realtime safe. Yay. - * - * \ingroup raul - */ -class Condition : boost::noncopyable { -public: - inline Condition() { pthread_cond_init(&_cond, NULL); } - - inline ~Condition() { pthread_cond_destroy(&_cond); } - - inline void signal() { pthread_cond_signal(&_cond); } - inline void wait(Mutex& mutex) { pthread_cond_wait(&_cond, &mutex._mutex); } - -private: - pthread_cond_t _cond; -}; - - -} // namespace Raul - -#endif // RAUL_CONDITION_H - diff --git a/raul/Makefile.am b/raul/Makefile.am index 907a95d..68fc40d 100644 --- a/raul/Makefile.am +++ b/raul/Makefile.am @@ -5,7 +5,6 @@ raulinclude_HEADERS = \ Atom.h \ AtomicInt.h \ AtomicPtr.h \ - Condition.h \ Deletable.h \ DoubleBuffer.h \ JackDriver.h \ @@ -13,7 +12,6 @@ raulinclude_HEADERS = \ MIDIRingBuffer.h \ MIDISink.h \ Maid.h \ - Mutex.h \ Namespaces.h \ Path.h \ Process.h \ diff --git a/raul/Mutex.h b/raul/Mutex.h deleted file mode 100644 index 533487d..0000000 --- a/raul/Mutex.h +++ /dev/null @@ -1,49 +0,0 @@ -/* This file is part of Raul. - * Copyright (C) 2007 Dave Robillard <http://drobilla.net> - * - * Raul 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. - * - * Raul 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 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., - * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#ifndef RAUL_MUTEX_H -#define RAUL_MUTEX_H - -#include <pthread.h> -#include <boost/utility.hpp> - -namespace Raul { - - -/** Trivial (zero overhead) wrapper around POSIX Mutexes. - * - * \ingroup raul - */ -class Mutex : boost::noncopyable { -public: - inline Mutex() { pthread_mutex_init(&_mutex, NULL); } - - inline ~Mutex() { pthread_mutex_destroy(&_mutex); } - - inline bool try_lock() { return (pthread_mutex_trylock(&_mutex) == 0); } - inline void lock() { pthread_mutex_lock(&_mutex); } - inline void unlock() { pthread_mutex_unlock(&_mutex); } - -private: - friend class Condition; - pthread_mutex_t _mutex; -}; - - -} // namespace Raul - -#endif // RAUL_MUTEX_H |