Friedrich-Alexander-Universität Erlangen-Nürnberg  /   Technische Fakultät  /   Department Informatik
guard.h File Reference

Guard synchronizes access to epilogue level More...

#include "interrupt/gate.h"
Include dependency graph for guard.h:
This graph shows which files directly or indirectly include this file:

Namespaces

 Guard
 Synchronizes the kernel with interrupts using the Prologue/Epilogue ModelThe Guard is used to synchronize between "normal" core activities (currently just the text output, later system calls) and interrupt handling routines. For this purpose, Guard has a queue for each CPU, in which gate objects can be added. This is necessary if the critical section is occupied at the time an interrupt occurs, and the epilogue() method cannot be processed immediately. The queued epilogues are processed while leaving the critical section.
 

Functions

void Guard::enter ()
 Entering the critical section. More...
 
void Guard::leave ()
 Leaving the critical section. More...
 
void Guard::relay (Gate *item)
 A prologue wants its epilogue to be processed. More...
 
bool Guard::active ()
 Helper to check if we are currently in a guarded environment. More...
 

Detailed Description

Guard synchronizes access to epilogue level