diff options
| -rw-r--r-- | src/nvim/os/event.c | 14 | 
1 files changed, 8 insertions, 6 deletions
| diff --git a/src/nvim/os/event.c b/src/nvim/os/event.c index bfb8a625ef..5a5da5cd63 100644 --- a/src/nvim/os/event.c +++ b/src/nvim/os/event.c @@ -79,12 +79,14 @@ void event_teardown(void)    signal_teardown();    input_stop();    input_teardown(); -  do { -    // This will loop forever if we leave any unclosed handles. Currently it is -    // the most reliable way to use travis for verifying the no libuv-related -    // bugs(which can be hard to track later) were introduced on a PR. -    uv_run(uv_default_loop(), UV_RUN_DEFAULT); -  } while (uv_loop_close(uv_default_loop())); +  // this last `uv_run` will return after all handles are stopped, it will +  // also take care of finishing any uv_close calls made by other *_teardown +  // functions. +  uv_run(uv_default_loop(), UV_RUN_DEFAULT); +  // abort that if we left unclosed handles +  if (uv_loop_close(uv_default_loop())) { +    abort(); +  }  }  // Wait for some event | 
