x11, wayland: always round up wait times

If wait_us is >0 and <500, the wait time gets rounded down 0,
effectively turning this into busy waiting. Round it up instead.
This commit is contained in:
wm4 2016-08-26 20:22:33 +02:00
parent 872b7a2654
commit 37d6604d70
2 changed files with 2 additions and 2 deletions

View File

@ -1139,7 +1139,7 @@ void vo_wayland_wait_events(struct vo *vo, int64_t until_time_us)
}; };
int64_t wait_us = until_time_us - mp_time_us(); int64_t wait_us = until_time_us - mp_time_us();
int timeout_ms = MPCLAMP((wait_us + 500) / 1000, 0, 10000); int timeout_ms = MPCLAMP((wait_us + 999) / 1000, 0, 10000);
wl_display_dispatch_pending(dp); wl_display_dispatch_pending(dp);
wl_display_flush(dp); wl_display_flush(dp);

View File

@ -1938,7 +1938,7 @@ void vo_x11_wait_events(struct vo *vo, int64_t until_time_us)
{ .fd = x11->wakeup_pipe[0], .events = POLLIN }, { .fd = x11->wakeup_pipe[0], .events = POLLIN },
}; };
int64_t wait_us = until_time_us - mp_time_us(); int64_t wait_us = until_time_us - mp_time_us();
int timeout_ms = MPCLAMP((wait_us + 500) / 1000, 0, 10000); int timeout_ms = MPCLAMP((wait_us + 999) / 1000, 0, 10000);
poll(fds, 2, timeout_ms); poll(fds, 2, timeout_ms);