MCPcopy Create free account
hub / github.com/devkitPro/libctru / LightEvent_Signal

Function LightEvent_Signal

libctru/source/synchronization.c:287–301  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

285}
286
287void LightEvent_Signal(LightEvent* event)
288{
289 if (event->state == CLEARED_ONESHOT)
290 {
291 __dmb();
292 LightEvent_SetState(event, SIGNALED_ONESHOT);
293 syncArbitrateAddress(&event->state, ARBITRATION_SIGNAL, 1);
294 } else if (event->state == CLEARED_STICKY)
295 {
296 LightLock_Lock(&event->lock);
297 LightEvent_SetState(event, SIGNALED_STICKY);
298 syncArbitrateAddress(&event->state, ARBITRATION_SIGNAL, -1);
299 LightLock_Unlock(&event->lock);
300 }
301}
302
303int LightEvent_TryWait(LightEvent* event)
304{

Callers 3

ndspHookCallbackFunction · 0.85
gspEventThreadMainFunction · 0.85
aptEventHandlerFunction · 0.85

Calls 5

__dmbFunction · 0.85
LightEvent_SetStateFunction · 0.85
syncArbitrateAddressFunction · 0.85
LightLock_LockFunction · 0.85
LightLock_UnlockFunction · 0.85

Tested by

no test coverage detected