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
This commit is contained in:
parent
9ab4657c89
commit
cb01bb1d68
@ -6062,7 +6062,7 @@ retry:
|
||||
}
|
||||
goto retry;
|
||||
}
|
||||
if(nr < 0) {
|
||||
if(nr < 0 && errno == 0) {
|
||||
/* Ctrl+D presend */
|
||||
nr = 0;
|
||||
}
|
||||
|
@ -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");
|
||||
|
Loading…
Reference in New Issue
Block a user