From e95a3062415a27ddd8183fa3a621aba6198b1621 Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Fri, 24 Aug 2018 17:19:39 -0700 Subject: systemc: When a thread completes, yield to the scheduler. Don't just fall off the end of the fiber and return to gem5. By calling yield, we ensure that remaining Processes are run and that bookkeeping is maintained correctly. Change-Id: Ifbe104e155cad29e40a89767a7c1f986399f784d Reviewed-on: https://gem5-review.googlesource.com/12264 Reviewed-by: Gabe Black Maintainer: Gabe Black --- src/systemc/core/process_types.hh | 1 + 1 file changed, 1 insertion(+) (limited to 'src') diff --git a/src/systemc/core/process_types.hh b/src/systemc/core/process_types.hh index 7617d41ef..2dde4672a 100644 --- a/src/systemc/core/process_types.hh +++ b/src/systemc/core/process_types.hh @@ -94,6 +94,7 @@ class Thread : public Process thread->_needsStart = false; thread->run(); thread->terminate(); + scheduler.yield(); } }; friend class Context; -- cgit v1.2.3