summaryrefslogtreecommitdiff
path: root/lib/gras_impl
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gras_impl')
-rw-r--r--lib/gras_impl/block_actor.hpp4
-rw-r--r--lib/gras_impl/debug.hpp2
2 files changed, 4 insertions, 2 deletions
diff --git a/lib/gras_impl/block_actor.hpp b/lib/gras_impl/block_actor.hpp
index 502f974..170ee1f 100644
--- a/lib/gras_impl/block_actor.hpp
+++ b/lib/gras_impl/block_actor.hpp
@@ -184,7 +184,9 @@ GRAS_FORCE_INLINE void BlockActor::update_input_avail(const size_t i)
GRAS_FORCE_INLINE bool BlockActor::is_input_done(const size_t i)
{
- return this->inputs_done[i] and not this->inputs_available[i];
+ const bool force_done = this->input_configs[i].force_done;
+ if GRAS_LIKELY(force_done) return this->inputs_done[i] and not this->inputs_available[i];
+ return this->inputs_done.all() and this->inputs_available.none();
}
GRAS_FORCE_INLINE bool BlockActor::is_work_allowed(void)
diff --git a/lib/gras_impl/debug.hpp b/lib/gras_impl/debug.hpp
index 7934a1e..52c2e16 100644
--- a/lib/gras_impl/debug.hpp
+++ b/lib/gras_impl/debug.hpp
@@ -63,7 +63,7 @@ extern void *operator new(std::size_t n) throw (std::bad_alloc);
throw std::runtime_error(std::string("ASSERT FAIL ") + #x); \
}}
#else
-#define ASSERT(x)
+#define ASSERT(x) {}
#endif
#endif /*INCLUDED_LIBGRAS_IMPL_DEBUG_HPP*/