The Pedigree Project
0.1
|
Public Member Functions | |
virtual size_t | serialize (uint8_t *pBuffer) |
virtual size_t | getNumber () |
![]() | |
Event (uintptr_t handlerAddress, bool isDeletable, size_t specificNestingLevel=~0UL) | |
virtual bool | isDeletable () |
uintptr_t | getHandlerAddress () |
size_t | getSpecificNestingLevel () |
Event (const Event &other) | |
Event & | operator= (const Event &other) |
void | registerThread (Thread *thread) |
void | deregisterThread (Thread *thread) |
size_t | pendingCount () |
virtual void | waitForDeliveries () |
Static Public Member Functions | |
static bool | unserialize (uint8_t *pBuffer, SemaphoreEvent &event) |
![]() | |
static uintptr_t | getTrampoline () |
static uintptr_t | getSecondaryTrampoline () |
static uintptr_t | getHandlerBuffer () |
static uintptr_t | getLastHandlerBuffer () |
static bool | unserialize (uint8_t *pBuffer, Event &event) |
static size_t | getEventType (uint8_t *pBuffer) |
Additional Inherited Members | |
![]() | |
uintptr_t | m_HandlerAddress |
bool | m_bIsDeletable |
size_t | m_NestingLevel |
size_t | m_Magic |
List< Thread * > | m_Threads |
Spinlock | m_Lock |
Internal event class - just interrupts the calling thread (sets wasInterrupted and sets the thread status to Ready).
Definition at line 101 of file Semaphore.h.
|
virtual |
|
virtual |
Given a buffer EVENT_LIMIT bytes long, take the variables present in this object and convert them to a binary form.
It can be assumed that this function will only be called when the Event is about to be dispatched, and so the inhibited mask of the current Thread is available to be changed to what the event handler requires. This change will be undone when the handler completes.
pBuffer | The buffer to serialize to. |
Implements Event.
Definition at line 54 of file Semaphore.cc.