summaryrefslogtreecommitdiff
path: root/shell/cmdedit.c
diff options
context:
space:
mode:
authorEric Andersen2004-08-19 18:22:13 +0000
committerEric Andersen2004-08-19 18:22:13 +0000
commitcb01bb1d6876edbcff428b75f110ba1b237e08d9 (patch)
tree4252286f7781b0b890634077bc59caac66b3ff4e /shell/cmdedit.c
parent9ab4657c8908b923a2e4a1cae97e0471bb51809e (diff)
downloadbusybox-cb01bb1d6876edbcff428b75f110ba1b237e08d9.zip
busybox-cb01bb1d6876edbcff428b75f110ba1b237e08d9.tar.gz
Patch from Vladimir N. Oleynik:
On Wed Aug 18, 2004 at 06:52:57PM +0800, Matt Johnston wrote: > I've come across some strange-seeming behaviour when running programs > under Busybox (1.0.0-rc3) ash. If the child process sets stdin to be > non-blocking and then exits, the parent ash will also exit. A quick strace > shows that a subsequent read() from stdin returns EAGAIN (as would be > expected): Thanks! Patch attached. --w vodz
Diffstat (limited to 'shell/cmdedit.c')
-rw-r--r--shell/cmdedit.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/shell/cmdedit.c b/shell/cmdedit.c
index 25d31a0..56b789a 100644
--- a/shell/cmdedit.c
+++ b/shell/cmdedit.c
@@ -1297,6 +1297,7 @@ int cmdedit_read_input(char *prompt, char command[BUFSIZ])
/* Control-d -- Delete one character, or exit
* if the len=0 and no chars to delete */
if (len == 0) {
+ errno = 0;
prepare_to_die:
#if !defined(CONFIG_ASH)
printf("exit");