gem5  v22.0.0.2
Public Member Functions | Private Attributes | List of all members
gem5::EventQueue::ScopedRelease Class Reference

#include <eventq.hh>

Public Member Functions

 ScopedRelease (EventQueue *_eq)
 Temporarily release the event queue service lock. More...
 
 ~ScopedRelease ()
 

Private Attributes

EventQueueeq
 

Detailed Description

Definition at line 716 of file eventq.hh.

Constructor & Destructor Documentation

◆ ScopedRelease()

gem5::EventQueue::ScopedRelease::ScopedRelease ( EventQueue _eq)
inline

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

Definition at line 730 of file eventq.hh.

References eq, and gem5::EventQueue::unlock().

◆ ~ScopedRelease()

gem5::EventQueue::ScopedRelease::~ScopedRelease ( )
inline

Definition at line 736 of file eventq.hh.

References eq, and gem5::EventQueue::lock().

Member Data Documentation

◆ eq

EventQueue& gem5::EventQueue::ScopedRelease::eq
private

Definition at line 742 of file eventq.hh.

Referenced by ScopedRelease(), and ~ScopedRelease().


The documentation for this class was generated from the following file:

Generated on Thu Jul 28 2022 13:33:01 for gem5 by doxygen 1.8.17