- time_t now = time_now();
- unsigned int wake = sat_add(cli->state_entered, cli->min_timeout);
- if (wake <= now) {
- poll_immediate_wake();
- } else {
- poll_timer_wait(sat_mul(sat_sub(wake, now), 1000));
- }
+ long long int wake = sat_add(cli->state_entered, cli->min_timeout);
+ poll_timer_wait_until(wake * 1000);