X-Git-Url: https://tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=src%2Froute.c;fp=src%2Froute.c;h=23bf38fd7cd4211403a5a23adabfa88af1b4c6a2;hp=9897d0d7e260f602ad809ff595d48226ffe60c6b;hb=6c987fcbc5a1e2394dcbcd999d265cb9826be82b;hpb=f4851be7f5dade24a5f43d366188c033c0f8b426 diff --git a/src/route.c b/src/route.c index 9897d0d7..23bf38fd 100644 --- a/src/route.c +++ b/src/route.c @@ -180,7 +180,7 @@ static void swap_mac_addresses(vpn_packet_t *packet) { memcpy(&packet->data[6], &tmp, sizeof tmp); } -static void age_subnets(int fd, short events, void *data) { +static void age_subnets(void *data) { subnet_t *s; connection_t *c; splay_node_t *node, *next, *node2; @@ -210,8 +210,10 @@ static void age_subnets(int fd, short events, void *data) { } } - if(left) - event_add(&age_subnets_event, &(struct timeval){10, 0}); + if(left) { + age_subnets_event.time = time(NULL) + 10; + event_add(&age_subnets_event); + } } static void learn_mac(mac_t *address) { @@ -244,9 +246,9 @@ static void learn_mac(mac_t *address) { send_add_subnet(c, subnet); } - if(!timeout_initialized(&age_subnets_event)) - timeout_set(&age_subnets_event, age_subnets, NULL); - event_add(&age_subnets_event, &(struct timeval){10, 0}); + age_subnets_event.handler = age_subnets; + age_subnets_event.time = time(NULL) + 10; + event_add(&age_subnets_event); } else { if(subnet->expires) subnet->expires = time(NULL) + macexpire;