ash: fix infinite loop on exit if tty is not there anymore
This commit is contained in:
parent
e3f2f89891
commit
08c8c1d3b3
@ -1,5 +1,10 @@
|
|||||||
Various bits of what is known about busybox shells, in no particular order.
|
Various bits of what is known about busybox shells, in no particular order.
|
||||||
|
|
||||||
|
2007-04-28
|
||||||
|
hush: Ctrl-C and Ctrl-Z for single NOFORK commands are working.
|
||||||
|
Memory and other resource leaks (opendir) are not addressed
|
||||||
|
(testcase is "rm -i" interrupted by ctrl-c).
|
||||||
|
|
||||||
2007-04-21
|
2007-04-21
|
||||||
hush: "sleep 5 | sleep 6" + Ctrl-Z + fg seems to work.
|
hush: "sleep 5 | sleep 6" + Ctrl-Z + fg seems to work.
|
||||||
"rm -i" + Ctrl-C, "sleep 5" + Ctrl-Z still doesn't work
|
"rm -i" + Ctrl-C, "sleep 5" + Ctrl-Z still doesn't work
|
||||||
|
@ -3501,7 +3501,9 @@ setjobctl(int on)
|
|||||||
/* turning job control off */
|
/* turning job control off */
|
||||||
fd = ttyfd;
|
fd = ttyfd;
|
||||||
pgrp = initialpgrp;
|
pgrp = initialpgrp;
|
||||||
xtcsetpgrp(fd, pgrp);
|
/* was xtcsetpgrp, but this can make exiting ash
|
||||||
|
* with pty already deleted loop forever */
|
||||||
|
tcsetpgrp(fd, pgrp);
|
||||||
setpgid(0, pgrp);
|
setpgid(0, pgrp);
|
||||||
setsignal(SIGTSTP);
|
setsignal(SIGTSTP);
|
||||||
setsignal(SIGTTOU);
|
setsignal(SIGTTOU);
|
||||||
|
Loading…
Reference in New Issue
Block a user