Created attachment 7056 [details] proposed patch Using Busybox 1.26.2 I still experience the issue that the vi will not work if some application (mostly those using ncurses) left the standard input in non-blocking mode. Usually there are no means to reset this state with standard commands without restarting the current tty. The attached file fixes this issue by forcing blocking mode to the standard input at vi start-up. The patch did not change the size of the vi application in my configuration. The issue can be reproduced by the following command: gcc -x c -o nb - <<"_C" && chmod u+rx nb && ./nb && echo abc >a.txt && vi a.txt #include <fcntl.h> #include <stdio.h> #include <stdlib.h> #include <unistd.h> int main() { /* make standard input non-blocking */ fcntl(STDIN_FILENO, F_SETFL, fcntl(STDIN_FILENO, F_GETFL) | O_NONBLOCK); return EXIT_SUCCESS; } _C
Fixed in git, thanks!