summaryrefslogtreecommitdiff
path: root/libs/audiographer/audiographer/general/threader.h
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2012-07-25 17:48:55 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2012-07-25 17:48:55 +0000
commit3cd8138a419cb165f56070ace0b21a1e63ec5a43 (patch)
tree51efe9abff24a1367be227aebf8e2901433b0b88 /libs/audiographer/audiographer/general/threader.h
parenteb6e352dd0a307badf68ae4a216d15c03b4685de (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.h14
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;
};