diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2012-07-25 17:48:55 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2012-07-25 17:48:55 +0000 |
commit | 3cd8138a419cb165f56070ace0b21a1e63ec5a43 (patch) | |
tree | 51efe9abff24a1367be227aebf8e2901433b0b88 /libs/audiographer/audiographer/general/threader.h | |
parent | eb6e352dd0a307badf68ae4a216d15c03b4685de (diff) |
convert from Glib:: to Glib::Threads for all thread-related API
git-svn-id: svn://localhost/ardour2/branches/3.0@13084 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/audiographer/audiographer/general/threader.h')
-rw-r--r-- | libs/audiographer/audiographer/general/threader.h | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/libs/audiographer/audiographer/general/threader.h b/libs/audiographer/audiographer/general/threader.h index 0f4aaff973..d1e11c00e1 100644 --- a/libs/audiographer/audiographer/general/threader.h +++ b/libs/audiographer/audiographer/general/threader.h @@ -2,6 +2,7 @@ #define AUDIOGRAPHER_THREADER_H #include <glibmm/threadpool.h> +#include <glibmm/timeval.h> #include <sigc++/slot.h> #include <boost/format.hpp> @@ -86,11 +87,8 @@ class Threader : public Source<T>, public Sink<T> void wait() { while (g_atomic_int_get (&readers) != 0) { - Glib::TimeVal wait_time; - wait_time.assign_current_time(); - wait_time.add_milliseconds(wait_timeout); - - wait_cond.timed_wait(wait_mutex, wait_time); + gint64 end_time = g_get_monotonic_time () + (wait_timeout * G_TIME_SPAN_MILLISECOND); + wait_cond.wait_until(wait_mutex, end_time); } wait_mutex.unlock(); @@ -119,12 +117,12 @@ class Threader : public Source<T>, public Sink<T> OutputVec outputs; Glib::ThreadPool & thread_pool; - Glib::Mutex wait_mutex; - Glib::Cond wait_cond; + Glib::Threads::Mutex wait_mutex; + Glib::Threads::Cond wait_cond; gint readers; long wait_timeout; - Glib::Mutex exception_mutex; + Glib::Threads::Mutex exception_mutex; boost::shared_ptr<ThreaderException> exception; }; |