btime next_event = MIN(ifa->next_hello, ifa->next_regular);
if (ifa->want_triggered) next_event = MIN(next_event, ifa->next_triggered);
- tm_set(ifa->timer, next_event);
+ tm_set_in(ifa->timer, next_event, p->p.loop);
}
static inline void
babel_iface_kick_timer(struct babel_iface *ifa)
{
if (ifa->timer->expires > (current_time() + 100 MS))
- tm_start(ifa->timer, 100 MS);
+ tm_start_in(ifa->timer, 100 MS, ifa->proto->p.loop);
}
static void
ifa->next_regular = current_time() + (random() % ifa->cf->update_interval);
ifa->next_triggered = current_time() + MIN(1 S, ifa->cf->update_interval / 2);
ifa->want_triggered = 0; /* We send an immediate update (below) */
- tm_start(ifa->timer, 100 MS);
+ tm_start_in(ifa->timer, 100 MS, p->p.loop);
ifa->up = 1;
babel_send_hello(ifa, 0);
.hook = babel_iface_locked,
.data = ifa,
};
- lock->target = &global_event_list;
+ lock->target = birdloop_event_list(p->p.loop);
olock_acquire(lock);
}
babel_kick_timer(struct babel_proto *p)
{
if (p->timer->expires > (current_time() + 100 MS))
- tm_start(p->timer, 100 MS);
+ tm_start_in(p->timer, 100 MS, p->p.loop);
}
init_list(&p->interfaces);
p->timer = tm_new_init(P->pool, babel_timer, p, 1 S, 0);
- tm_start(p->timer, 1 S);
+ tm_start_in(p->timer, 1 S, p->p.loop);
p->update_seqno = 1;
p->router_id = proto_get_router_id(&cf->c);