diff options
author | David Robillard <d@drobilla.net> | 2007-01-06 19:39:56 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2007-01-06 19:39:56 +0000 |
commit | 69c5e7fe16b7d9d08db81a6d5e2762f0be3b081f (patch) | |
tree | 68fd1ea83beedaaaa97846ed09240a3585b2d931 /src/libs/engine/QueuedEventSource.cpp | |
parent | 2122a857662203936a04a39df7d0e1ad1db82853 (diff) | |
download | ingen-69c5e7fe16b7d9d08db81a6d5e2762f0be3b081f.tar.gz ingen-69c5e7fe16b7d9d08db81a6d5e2762f0be3b081f.tar.bz2 ingen-69c5e7fe16b7d9d08db81a6d5e2762f0be3b081f.zip |
Added ability to get Raul Thread for current calling context.
Strong threading assertions.
Flowcanvas port removal fixes.
Patch port destruction.
Code cleanups, bug fixes.
git-svn-id: http://svn.drobilla.net/lad/ingen@234 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/libs/engine/QueuedEventSource.cpp')
-rw-r--r-- | src/libs/engine/QueuedEventSource.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/libs/engine/QueuedEventSource.cpp b/src/libs/engine/QueuedEventSource.cpp index 08e1c63e..ea6f2c34 100644 --- a/src/libs/engine/QueuedEventSource.cpp +++ b/src/libs/engine/QueuedEventSource.cpp @@ -17,6 +17,7 @@ #include "QueuedEventSource.h" #include "QueuedEvent.h" #include "PostProcessor.h" +#include "ThreadManager.h" #include <sys/mman.h> #include <iostream> using std::cout; using std::cerr; using std::endl; @@ -37,7 +38,8 @@ QueuedEventSource::QueuedEventSource(size_t queued_size, size_t stamped_size) mlock(_events, _size * sizeof(QueuedEvent*)); - Thread::set_name("PreProcessor"); + Thread::set_context(THREAD_PRE_PROCESS); + assert(context() == THREAD_PRE_PROCESS); } @@ -74,6 +76,8 @@ QueuedEventSource::push_queued(QueuedEvent* const ev) void QueuedEventSource::process(PostProcessor& dest, SampleCount nframes, FrameTime cycle_start, FrameTime cycle_end) { + assert(ThreadManager::current_thread_id() == THREAD_PROCESS); + Event* ev = NULL; /* Limit the maximum number of queued events to process per cycle. This @@ -118,6 +122,8 @@ QueuedEventSource::process(PostProcessor& dest, SampleCount nframes, FrameTime c Event* QueuedEventSource::pop_earliest_queued_before(const SampleCount time) { + assert(ThreadManager::current_thread_id() == THREAD_PROCESS); + QueuedEvent* const front_event = _events[_front]; // Pop |