ext/iodine/fio.c
/** Performs a timer task and re-adds it to the queue (or cleans it up) */
Performs a timer task and re-adds it to the queue (or cleans it up)
Performs a timer task and re - adds it to the queue ( or cleans it up )
static void fio_timer_perform_single(void *timer_, void *ignr) {
  fio_timer_s *timer = timer_;
  timer->task(timer->arg);
  if (!timer->repetitions || fio_atomic_sub(&timer->repetitions, 1))
    goto reschedule;
  if (timer->on_finish)
    timer->on_finish(timer->arg);
  free(timer);
  return;
  (void)ignr;
reschedule:
  fio_timer_add_order(timer);
}
static void fio_timer_perform_single ( void * timer_ , void * ignr ) { fio_timer_s * timer = timer_ ; timer -> task ( timer -> arg ) ; if ( ! timer -> repetitions || fio_atomic_sub ( & timer -> repetitions , 1 ) ) goto reschedule ; if ( timer -> on_finish ) timer -> on_finish ( timer -> arg ) ; free ( timer ) ; return ; ( void ) ignr ; reschedule : fio_timer_add_order ( timer ) ; }
Performs a timer task and re-adds it to the queue (or cleans it up)
Performs a timer task and re - adds it to the queue ( or cleans it up )