[BusyBox-cvs] CVS update of busybox/shell (ash.c)

Erik Andersen andersen at codepoet.org
Sat Jul 24 12:44:15 UTC 2004


    Date: Saturday, July 24, 2004 @ 06:44:15
  Author: andersen
    Path: /var/cvs/busybox/shell

Modified: ash.c (1.102 -> 1.103)

Paul Whittaker writes:

With job control enabled, ash fails to tcsetpgrp back to initialpgrp
upon exit.  exitshell() should call setjobctl(0) to do this.

Context: I am using a lightweight menu system (replimenu[.sf.net]) on my
console, which invokes "/bin/sh -i -c /bin/login", where /bin/sh and
/bin/login are busybox applets.   /bin/sh is ash, with
CONFIG_ASH_JOB_CONTROL=y as the sole suboption.  The shell of the user
concerned (nobody) is also /bin/sh (ash).  When the user /bin/sh exits
(and thereby login and its parent sh), replimenu receives EIO when it
tries to read from the terminal.


Index: busybox/shell/ash.c
diff -u busybox/shell/ash.c:1.102 busybox/shell/ash.c:1.103
--- busybox/shell/ash.c:1.102	Wed Jul 21 04:20:19 2004
+++ busybox/shell/ash.c	Sat Jul 24 06:44:13 2004
@@ -11914,6 +11914,7 @@
 		evalstring(p);
 	}
 	flushall();
+	setjobctl(0);
 #ifdef CONFIG_FEATURE_COMMAND_SAVEHISTORY
 	if (iflag && rootshell) {
 		const char *hp = lookupvar("HISTFILE");



More information about the busybox-cvs mailing list