static void __do_arp_validate_arm_timer(struct arp_handle *handle) { if (handle->timer) { ni_timer_rearm(handle->timer, handle->timeout); } else { handle->timer = ni_timer_register(handle->timeout, __do_arp_validate_timeout, handle); } }
void ni_dhcp4_fsm_set_timeout_msec(ni_dhcp4_device_t *dev, unsigned int msec) { if (msec != 0) { ni_debug_dhcp("%s: setting timeout to %u msec", dev->ifname, msec); if (dev->fsm.timer) ni_timer_rearm(dev->fsm.timer, msec); else dev->fsm.timer = ni_timer_register(msec, __ni_dhcp4_fsm_timeout, dev); } }
static void __ni_wireless_scan_timer_arm(ni_wireless_scan_t *scan, ni_netdev_t *dev, unsigned int timeout) { /* Fire twice as often as requested. This is because we rearm the * timer at the point where we *request* a new scan, but the scan * timestamp is updated when the last *response* comes in, which is * usually half a second later or so. */ timeout = 1000 * timeout / 2; if (scan->timer == NULL) { scan->timer = ni_timer_register(timeout, __ni_wireless_scan_timeout, dev); } else { ni_timer_rearm(scan->timer, timeout); } }