Interruptbehandlungsobjekt, um in MPStuBS schlafende Prozessoren mit einem IPI zu wecken, falls neue Threads aktiv wurden. Diese Interruptbehandlung soll explizit keinen Epilog nach sich ziehen. Mehr ...
#include <wakeup.h>


Öffentliche Methoden | |
| void | activate () |
| Interruptbehandlung registrieren. Mehr ... | |
| bool | prologue () |
| Interrupt soll Prozessor nur aufwecken und signalisieren, dass neue Threads in der Bereitliste vorhanden sind. Mehr ... | |
Öffentliche Methoden geerbt von Gate | |
| Gate () | |
| Konstruktor. Mehr ... | |
| virtual | ~Gate () |
| Destruktor. Mehr ... | |
| virtual void | epilogue () |
| Eine gegebenenfalls verzögerte, synchronisiert ausgeführte Unterbrechungsbehandlung. Mehr ... | |
| bool | set_queued () |
| Setzt atomar ein Flag um zu markieren, dass sich das Objekt gerade in einer Epilog-Warteschlange befindet. Mehr ... | |
| void | set_dequeued () |
| Setzt das in set_queued() gesetzte Flag zurück. Mehr ... | |
Weitere Geerbte Elemente | |
Öffentliche Attribute geerbt von Gate | |
| QueueLink< Gate > | queue_link |
| Verkettungszeiger für Epilog Queue. | |
Interruptbehandlungsobjekt, um in MPStuBS schlafende Prozessoren mit einem IPI zu wecken, falls neue Threads aktiv wurden. Diese Interruptbehandlung soll explizit keinen Epilog nach sich ziehen.
Nur in MPStuBS benötigt.
|
inline |
Interruptbehandlung registrieren.
|
inlinevirtual |
Interrupt soll Prozessor nur aufwecken und signalisieren, dass neue Threads in der Bereitliste vorhanden sind.
Implementiert Gate.