Lines Matching refs:timer
126 static void DoTimer(OsTimerPtr timer, CARD32 now, OsTimerPtr *prev);
401 /* If time has rewound, re-run every affected timer.
406 OsTimerPtr timer;
412 for (timer = timers; timer; timer = timer->next) {
413 if (timer->expires - now > timer->delta + 250) {
414 TimerForce(timer);
421 DoTimer(OsTimerPtr timer, CARD32 now, OsTimerPtr *prev)
425 *prev = timer->next;
426 timer->next = NULL;
427 newTime = (*timer->callback)(timer, now, timer->arg);
429 TimerSet(timer, 0, newTime, timer->callback, timer->arg);
433 TimerSet(OsTimerPtr timer, int flags, CARD32 millis,
439 if (!timer)
441 timer = malloc(sizeof(struct _OsTimerRec));
442 if (!timer)
449 if (*prev == timer)
451 *prev = timer->next;
453 (void)(*timer->callback)(timer, now, timer->arg);
459 return timer;
461 timer->delta = millis - now;
464 timer->delta = millis;
467 timer->expires = millis;
468 timer->callback = func;
469 timer->arg = arg;
472 timer->next = NULL;
473 millis = (*timer->callback)(timer, now, timer->arg);
475 return timer;
481 timer->next = *prev;
482 *prev = timer;
483 return timer;
487 TimerForce(OsTimerPtr timer)
493 if (*prev == timer)
495 DoTimer(timer, GetTimeInMillis(), prev);
504 TimerCancel(OsTimerPtr timer)
508 if (!timer)
512 if (*prev == timer)
514 *prev = timer->next;
521 TimerFree(OsTimerPtr timer)
523 if (!timer)
525 TimerCancel(timer);
526 free(timer);
541 OsTimerPtr timer;
543 while ((timer = timers))
545 timers = timer->next;
546 free(timer);
585 ScreenSaverTimeoutExpire(OsTimerPtr timer,CARD32 now,pointer arg)