Example #1
0
void
EventAlarmHandler(OSAlarm *alarm, OSContext *context)
{
   // Wakeup the thread waiting on this alarm
   auto data = reinterpret_cast<EventAlarmData*>(OSGetAlarmUserData(alarm));
   data->timeout = TRUE;
   OSWakeupOneThreadNoLock(data->thread);
}
Example #2
0
void
SleepAlarmHandler(OSAlarm *alarm, OSContext *context)
{
   OSLockScheduler();

   // Wakeup the thread waiting on this alarm
   auto data = reinterpret_cast<SleepAlarmData*>(OSGetAlarmUserData(alarm));
   OSWakeupOneThreadNoLock(data->thread);

   OSUnlockScheduler();
}