double now=gras_os_time();
double untilnext = -1.0;
- for (cursor=0; cursor < xbt_dynar_length(pd->timers); cursor++) {
+ for (cursor=0; cursor < (int)xbt_dynar_length(pd->timers); cursor++) {
double untilthis;
timer = xbt_dynar_get_ptr (pd->timers, cursor);
DEBUG2("Action %p expires in %f", timer->action, untilthis);
if (untilthis <= 0.0) {
- void_f_void_t *action = timer->action;
+ void_f_void_t action = timer->action;
DEBUG5("[%.0f] Serve %s action %p (%f<%f)",gras_os_time(),
timer->repeat ? "repetitive" : "delayed", timer->action,
DEBUG2("[%.0f] Remove %p now that it's done", gras_os_time(), timer->action);
xbt_dynar_cursor_rm(pd->timers, &cursor);
}
- action();
+ (*action)();
return 0.0;
} else if (untilthis < untilnext || untilnext == -1) {
untilnext = untilthis;