| 285 | } |
| 286 | |
| 287 | void 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 | |
| 303 | int LightEvent_TryWait(LightEvent* event) |
| 304 | { |
no test coverage detected