From a2efc9cf8b0fdf14b01156ba424145e1847f789c Mon Sep 17 00:00:00 2001 From: "Justin M. Keyes" Date: Sun, 16 Feb 2020 23:54:24 -0800 Subject: [PATCH] loop_close: timout after 2 seconds #11821 never UV_RUN_DEFAULT ref #11820 ref #7376 --- src/nvim/event/loop.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/nvim/event/loop.c b/src/nvim/event/loop.c index c2be472acd..664f3ad89d 100644 --- a/src/nvim/event/loop.c +++ b/src/nvim/event/loop.c @@ -127,8 +127,8 @@ bool loop_close(Loop *loop, bool wait) uv_close((uv_handle_t *)&loop->async, NULL); uint64_t start = wait ? os_hrtime() : 0; while (true) { - uv_run(&loop->uv, wait ? UV_RUN_DEFAULT : UV_RUN_NOWAIT); - if (!uv_loop_close(&loop->uv) || !wait) { + uv_run(&loop->uv, UV_RUN_NOWAIT); + if (!wait || (uv_loop_close(&loop->uv) != UV_EBUSY)) { break; } if (os_hrtime() - start >= 2 * 1000000000) {