diff options
author | David Robillard <d@drobilla.net> | 2017-11-12 19:57:56 +0100 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2017-11-12 19:58:13 +0100 |
commit | f8cd75372d9c45a0a8616d89a18a5b9906ac9d54 (patch) | |
tree | eb9b06bc00c2d3b36f1f56cbd6fad7cd33df6ae0 /src/server/RunContext.cpp | |
parent | a66df006ccd3426148491f0a4c21c9facb8104ea (diff) | |
download | ingen-f8cd75372d9c45a0a8616d89a18a5b9906ac9d54.tar.gz ingen-f8cd75372d9c45a0a8616d89a18a5b9906ac9d54.tar.bz2 ingen-f8cd75372d9c45a0a8616d89a18a5b9906ac9d54.zip |
WIP: Clean up task implementationtasks
Diffstat (limited to 'src/server/RunContext.cpp')
-rw-r--r-- | src/server/RunContext.cpp | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/server/RunContext.cpp b/src/server/RunContext.cpp index b2e3f269..5d5c9e33 100644 --- a/src/server/RunContext.cpp +++ b/src/server/RunContext.cpp @@ -18,6 +18,7 @@ #include "ingen/Log.hpp" #include "ingen/URIMap.hpp" +#include "BlockImpl.hpp" #include "Broadcaster.hpp" #include "BufferFactory.hpp" #include "Engine.hpp" @@ -141,20 +142,26 @@ RunContext::emit_notifications(FrameTime end) } void -RunContext::claim_task(Task* task) +RunContext::claim_task(BlockTask* task) { if ((_task = task)) { _engine.signal_tasks_available(); } } -Task* +RunContext::BlockTask* RunContext::steal_task() const { return _engine.steal_task(_id + 1); } void +RunContext::run_unit(BlockImpl* unit) +{ + unit->process(*this); +} + +void RunContext::set_priority(int priority) { if (_thread) { @@ -185,7 +192,7 @@ void RunContext::run() { while (_engine.wait_for_tasks()) { - for (Task* t; (t = _engine.steal_task(0));) { + for (BlockTask* t; (t = _engine.steal_task(0));) { t->run(*this); } } |