← Commit list

08c8c1d3b

Denis Vlasenko
Denis Vlasenko
2007-04-28
FAILED Duration: 11s

Subject

ash: fix infinite loop on exit if tty is not there anymore

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

shell/README+5 -0
@@ -1,5 +1,10 @@
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
hush: "sleep 5 | sleep 6" + Ctrl-Z + fg seems to work.
"rm -i" + Ctrl-C, "sleep 5" + Ctrl-Z still doesn't work
shell/ash.c+3 -1
@@ -3501,7 +3501,9 @@ setjobctl(int on)
/* turning job control off */
fd = ttyfd;
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);
setsignal(SIGTSTP);
setsignal(SIGTTOU);