void wd_trackers_schedule(void) { if(wd_settings._register) { wi_timer_schedule(wd_trackers_register_timer); wi_timer_schedule(wd_trackers_update_timer); } else { wi_timer_invalidate(wd_trackers_register_timer); wi_timer_invalidate(wd_trackers_update_timer); } }
static void wd_transfer_remove_timer(wd_transfer_t *transfer) { wi_timer_invalidate(transfer->timer); wi_release(transfer->timer); transfer->timer = NULL; wi_release(transfer); }
static void _wi_test_timer_function(wi_timer_t *timer) { wi_uinteger_t *hits; hits = wi_timer_data(timer); if(++(*hits) == 5) wi_timer_invalidate(timer); else wi_timer_schedule(timer); }
static void _wi_test_timer_function(wi_timer_t *timer) { wi_condition_lock_lock(_wi_test_timer_lock); if(++_wi_test_timer_hits == 5) { wi_timer_invalidate(timer); wi_condition_lock_unlock_with_condition(_wi_test_timer_lock, 1); } else { wi_timer_schedule(timer); wi_condition_lock_unlock_with_condition(_wi_test_timer_lock, 0); } }
static void _wi_timer_dealloc(wi_runtime_instance_t *instance) { wi_timer_t *timer = instance; wi_timer_invalidate(timer); }