mirror of
https://github.com/neovim/neovim.git
synced 2025-09-16 00:08:19 +00:00
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.
This commit is contained in:
@@ -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://
|
||||
|
Reference in New Issue
Block a user