src/sim/eventq.hh
/**
         * Temporarily release the event queue service lock.
         *
         * There are cases where it is desirable to temporarily release
         * the event queue lock to prevent deadlocks. For example, when
         * waiting on the global barrier, we need to release the lock to
         * prevent deadlocks from happening when another thread tries to
         * temporarily take over the event queue waiting on the barrier.
         *
         * @group api_eventq
         */
Temporarily release the event queue service lock.
There are cases where it is desirable to temporarily release
the event queue lock to prevent deadlocks. For example, when
waiting on the global barrier, we need to release the lock to
prevent deadlocks from happening when another thread tries to
temporarily take over the event queue waiting on the barrier.


Temporarily release the event queue service lock . There are cases where it is desirable to temporarily release the event queue lock to prevent deadlocks . For example when waiting on the global barrier we need to release the lock to prevent deadlocks from happening when another thread tries to temporarily take over the event queue waiting on the barrier .
ScopedRelease(EventQueue *_eq)
            :  eq(*_eq)
        {
            eq.unlock();
        }
ScopedRelease ( EventQueue * _eq ) : eq ( * _eq ) { eq . unlock ( ) ; }
Temporarily release the event queue service lock.
Temporarily release the event queue service lock .