mirror of
https://github.com/sheumann/hush.git
synced 2024-12-26 10:32:02 +00:00
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.
This commit is contained in:
parent
7991ad1720
commit
5dcf15e02d
@ -11914,6 +11914,7 @@ exitshell(void)
|
|||||||
evalstring(p);
|
evalstring(p);
|
||||||
}
|
}
|
||||||
flushall();
|
flushall();
|
||||||
|
setjobctl(0);
|
||||||
#ifdef CONFIG_FEATURE_COMMAND_SAVEHISTORY
|
#ifdef CONFIG_FEATURE_COMMAND_SAVEHISTORY
|
||||||
if (iflag && rootshell) {
|
if (iflag && rootshell) {
|
||||||
const char *hp = lookupvar("HISTFILE");
|
const char *hp = lookupvar("HISTFILE");
|
||||||
|
Loading…
Reference in New Issue
Block a user