gem5  v21.0.1.0
Public Member Functions | Private Attributes | List of all members
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 713 of file eventq.hh.

Constructor & Destructor Documentation

◆ ScopedRelease()

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 727 of file eventq.hh.

References eq, and EventQueue::unlock().

◆ ~ScopedRelease()

EventQueue::ScopedRelease::~ScopedRelease ( )
inline

Definition at line 733 of file eventq.hh.

References eq, and EventQueue::lock().

Member Data Documentation

◆ eq

EventQueue& EventQueue::ScopedRelease::eq
private

Definition at line 739 of file eventq.hh.

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


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

Generated on Tue Jun 22 2021 15:28:38 for gem5 by doxygen 1.8.17