gem5  v20.1.0.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 709 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 723 of file eventq.hh.

References eq, and EventQueue::unlock().

◆ ~ScopedRelease()

EventQueue::ScopedRelease::~ScopedRelease ( )
inline

Definition at line 729 of file eventq.hh.

References eq, and EventQueue::lock().

Member Data Documentation

◆ eq

EventQueue& EventQueue::ScopedRelease::eq
private

Definition at line 735 of file eventq.hh.

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


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

Generated on Wed Sep 30 2020 14:02:24 for gem5 by doxygen 1.8.17