summaryrefslogtreecommitdiff
path: root/lib/task_main.cpp
diff options
context:
space:
mode:
authorJosh Blum2013-06-20 19:48:29 -0700
committerJosh Blum2013-06-20 19:48:29 -0700
commit37bd56f3301795e89294c048883324b0353237ef (patch)
tree77d1a9066c0f416c6758eab154dcf2706e197595 /lib/task_main.cpp
parent630a272e6725a547327366e543106e63c23fd816 (diff)
downloadsandhi-37bd56f3301795e89294c048883324b0353237ef.tar.gz
sandhi-37bd56f3301795e89294c048883324b0353237ef.tar.bz2
sandhi-37bd56f3301795e89294c048883324b0353237ef.zip
gras: work on goddamn done logic
How blocks mark themselves done has been one of the most annoying things in this development. This done logic is only valuable for QA tests, it doesnt even exist in the practical use case. How it works now: * blocks mark done when sync inputs are done or all inputs are done * removed the force_done input config, its no longer needed * the wait() implementation gives blocks a grace period between an input becoming done and the block itself becoming done. After the grace period, the block is forced done.
Diffstat (limited to 'lib/task_main.cpp')
-rw-r--r--lib/task_main.cpp9
1 files changed, 0 insertions, 9 deletions
diff --git a/lib/task_main.cpp b/lib/task_main.cpp
index 2e496fc..5547b08 100644
--- a/lib/task_main.cpp
+++ b/lib/task_main.cpp
@@ -193,15 +193,6 @@ void BlockActor::task_main(void)
data->total_items_produced[i] += data->num_output_items_read[i];
}
- //now recheck the status, mark block done if an input is done
- if GRAS_UNLIKELY(data->inputs_done.any())
- {
- for (size_t i = 0; i < num_inputs; i++)
- {
- if (this->is_input_done(i)) this->mark_done();
- }
- }
-
//still have IO ready? kick off another task
this->task_kicker();
}