← Commit list

ed270a5f3

Denis Vlasenko
Denis Vlasenko
2007-11-26
FAILED Duration: 14s

Subject

ash: make code simpler, and do not do close(-1) - it's rude

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/ash.c+9 -5
@@ -3461,14 +3461,17 @@ setjobctl(int on)
* That sometimes helps to acquire controlling tty.
* Obviously, a workaround for bugs when someone
* failed to provide a controlling tty to bash! :) */
- fd += 3;
- while (!isatty(fd) && --fd >= 0)
- ;
+ fd = 2;
+ while (!isatty(fd))
+ if (--fd < 0)
+ goto out;
}
fd = fcntl(fd, F_DUPFD, 10);
- close(ofd);
+ if (ofd >= 0)
+ close(ofd);
if (fd < 0)
goto out;
+ /* fd is a tty at this point */
close_on_exec_on(fd);
do { /* while we are in the background */
pgrp = tcgetpgrp(fd);
@@ -3502,7 +3505,8 @@ setjobctl(int on)
setsignal(SIGTTOU);
setsignal(SIGTTIN);
close:
- close(fd);
+ if (fd >= 0)
+ close(fd);
fd = -1;
}
ttyfd = fd;