summaryrefslogtreecommitdiff
path: root/lib/block_task.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/block_task.cpp')
-rw-r--r--lib/block_task.cpp15
1 files changed, 3 insertions, 12 deletions
diff --git a/lib/block_task.cpp b/lib/block_task.cpp
index a64b3d7..39b0327 100644
--- a/lib/block_task.cpp
+++ b/lib/block_task.cpp
@@ -167,12 +167,11 @@ void BlockActor::handle_task(void)
num_output_items = num_output_items/2; //backoff regime
if (num_output_items) goto forecast_again_you_jerk;
- this->forecast_fail = true;
- this->conclusion();
+ //handle the case of forecast failing
+ this->mark_done();
return;
}
}
- this->forecast_fail = false;
//------------------------------------------------------------------
//-- the work
@@ -239,17 +238,9 @@ void BlockActor::handle_task(void)
//------------------------------------------------------------------
//-- Message self based on post-work conditions
//------------------------------------------------------------------
- this->conclusion();
-}
-
-GRAS_FORCE_INLINE void BlockActor::conclusion(void)
-{
//missing at least one upstream provider?
//since nothing else is coming in, its safe to mark done
- if (this->any_inputs_done() or this->forecast_fail)
- {
- this->mark_done();
- }
+ if (this->any_inputs_done()) this->mark_done();
//still have IO ready? kick off another task
if (this->input_queues.all_ready() and this->output_queues.all_ready())