unix,win: simplify calculating polling timeout

PR-URL: https://github.com/libuv/libuv/pull/1096
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
This commit is contained in:
Saúl Ibarra Corretgé 2016-10-16 10:46:54 +02:00
parent 31e5d665d5
commit a35308306f
2 changed files with 4 additions and 10 deletions

View File

@ -301,7 +301,7 @@ int uv_backend_timeout(const uv_loop_t* loop) {
if (loop->stop_flag != 0)
return 0;
if (!uv__has_active_handles(loop) && !uv__has_active_reqs(loop))
if (!uv_loop_alive(loop))
return 0;
if (!QUEUE_EMPTY(&loop->idle_handles))
@ -310,9 +310,6 @@ int uv_backend_timeout(const uv_loop_t* loop) {
if (!QUEUE_EMPTY(&loop->pending_queue))
return 0;
if (loop->closing_handles)
return 0;
return uv__next_timeout(loop);
}

View File

@ -336,15 +336,12 @@ int uv_backend_timeout(const uv_loop_t* loop) {
if (loop->stop_flag != 0)
return 0;
if (!uv__has_active_handles(loop) && !uv__has_active_reqs(loop))
if (!uv_loop_alive(loop))
return 0;
if (loop->pending_reqs_tail)
return 0;
if (loop->endgame_handles)
return 0;
if (loop->idle_handles)
return 0;
@ -463,8 +460,8 @@ static void uv_poll_ex(uv_loop_t* loop, DWORD timeout) {
static int uv__loop_alive(const uv_loop_t* loop) {
return loop->active_handles > 0 ||
!QUEUE_EMPTY(&loop->active_reqs) ||
return uv__has_active_handles(loop) ||
uv__has_active_reqs(loop) ||
loop->endgame_handles != NULL;
}