misc: Bugfix for Freezing Terminal in SystemC Simulation
If the terminal was used in the SystemC or TLM simulations the simulation gets in a deadlock state. This is because of the Event queue gets locked while servicing the async events leading to event queue deadlock. This was solved by locking the queue at the beginning of service of async events. Committed by: Nilay Vaish <nilay@cs.wisc.edu>
This commit is contained in:
@@ -140,6 +140,7 @@ void
|
||||
Module::serviceAsyncEvent()
|
||||
{
|
||||
EventQueue *eventq = getEventQueue(0);
|
||||
std::lock_guard<EventQueue> lock(*eventq);
|
||||
|
||||
assert(async_event);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user