From cb01bb1d6876edbcff428b75f110ba1b237e08d9 Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Thu, 19 Aug 2004 18:22:13 +0000 Subject: 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 --- shell/cmdedit.c | 1 + 1 file changed, 1 insertion(+) (limited to 'shell/cmdedit.c') diff --git a/shell/cmdedit.c b/shell/cmdedit.c index 25d31a0e0..56b789ab6 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"); -- cgit v1.2.3