mirror of
https://github.com/neovim/neovim.git
synced 2025-09-14 15:28:17 +00:00
Reimplement input functions on top of libuv
The functions `mch_inchar`, `mch_breakcheck`, `mch_char_avail` were reimplemented on top of libuv. Here's how it works: - When Neovim needs to wait for characters, it will transfer control to libuv event loop. - When the libuv event loop gets user input, it will transfer control back to Neovim - Neovim uses the `input_read` function to get the actual data read by libuv. With this scheme its possible to keep Neovim single-threaded while enjoying the benefits provided by libuv. This commit leaves SIGWINCH broken for now
This commit is contained in:
@@ -2,8 +2,6 @@
|
||||
#define NEOVIM_OS_UNIX_H
|
||||
/* os_unix.c */
|
||||
void mch_write(char_u *s, int len);
|
||||
int mch_inchar(char_u *buf, int maxlen, long wtime, int tb_change_cnt);
|
||||
int mch_char_avail(void);
|
||||
void mch_startjmp(void);
|
||||
void mch_endjmp(void);
|
||||
void mch_didjmp(void);
|
||||
@@ -45,7 +43,6 @@ int mch_get_shellsize(void);
|
||||
void mch_set_shellsize(void);
|
||||
void mch_new_shellsize(void);
|
||||
int mch_call_shell(char_u *cmd, int options);
|
||||
void mch_breakcheck(void);
|
||||
int mch_expandpath(garray_T *gap, char_u *path, int flags);
|
||||
int mch_expand_wildcards(int num_pat, char_u **pat, int *num_file,
|
||||
char_u ***file,
|
||||
|
Reference in New Issue
Block a user