From 4219b69145f13e95eadb5a666cb02b482bdd395b Mon Sep 17 00:00:00 2001 From: "Justin M. Keyes" Date: Mon, 25 May 2015 14:13:18 -0400 Subject: input: stream_set_blocking(): libuv impl - Create a private libuv loop instead of re-using uv_default_loop(), to avoid conflict[1] with existing watcher(s) on the fd. - Expose the global "input" fd as a getter instead of a mutable global. [1] .deps/build/src/libuv/src/unix/core.c:833: uv__io_stop: Assertion `loop->watchers[w->fd] == w' failed. --- src/nvim/main.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/nvim/main.c') diff --git a/src/nvim/main.c b/src/nvim/main.c index 6ae96a7c69..4714de7c59 100644 --- a/src/nvim/main.c +++ b/src/nvim/main.c @@ -273,13 +273,13 @@ int main(int argc, char **argv) if (reading_input) { // One of the startup commands (arguments, sourced scripts or plugins) may // prompt the user, so start reading from a tty now. - global_input_fd = fileno(stdin); + int fd = fileno(stdin); if (!params.input_isatty || params.edit_type == EDIT_STDIN) { // Use stderr or stdout since stdin is not a tty and/or could be used to // read the "-" file (eg: cat file | nvim -) - global_input_fd = params.err_isatty ? fileno(stderr) : fileno(stdout); + fd = params.err_isatty ? fileno(stderr) : fileno(stdout); } - input_start_stdin(global_input_fd); + input_start_stdin(fd); } // open terminals when opening files that start with term:// -- cgit