diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2007-01-21 00:41:04 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2007-01-21 00:41:04 +0000 |
commit | 2f0c0d0b8829b8aea97bc09833e172c59b55cd94 (patch) | |
tree | 3e82c2dd94d674a723f3d7df350f32dc8892adc1 /shell | |
parent | b3f3c23f786a2486a8545ef0d904061ac83e6453 (diff) | |
download | busybox-w32-2f0c0d0b8829b8aea97bc09833e172c59b55cd94.tar.gz busybox-w32-2f0c0d0b8829b8aea97bc09833e172c59b55cd94.tar.bz2 busybox-w32-2f0c0d0b8829b8aea97bc09833e172c59b55cd94.zip |
Introduce FEATURE_EXEC_PREFER_APPLETS = "re-execute our own
executable if we asked to exec someting with argv[0] == known_applet"
Use it in init. Also respect PATH in init, remove explicit "/sbin" etc
from exec. Patch by Gabriel L. Somlo <somlo@cmu.edu>
Diffstat (limited to 'shell')
-rw-r--r-- | shell/ash.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/shell/ash.c b/shell/ash.c index 8ef8c465c..2db3302c7 100644 --- a/shell/ash.c +++ b/shell/ash.c | |||
@@ -6528,6 +6528,10 @@ setjobctl(int on) | |||
6528 | int ofd; | 6528 | int ofd; |
6529 | ofd = fd = open(_PATH_TTY, O_RDWR); | 6529 | ofd = fd = open(_PATH_TTY, O_RDWR); |
6530 | if (fd < 0) { | 6530 | if (fd < 0) { |
6531 | /* BTW, bash will try to open(ttyname(0)) if open("/dev/tty") fails. | ||
6532 | * That sometimes helps to acquire controlling tty. | ||
6533 | * Obviously, a workaround for bugs when someone | ||
6534 | * failed to provide a controlling tty to bash! :) */ | ||
6531 | fd += 3; | 6535 | fd += 3; |
6532 | while (!isatty(fd) && --fd >= 0) | 6536 | while (!isatty(fd) && --fd >= 0) |
6533 | ; | 6537 | ; |