diff options
author | andersen <andersen@69ca8d6d-28ef-0310-b511-8ec308f3f277> | 2001-12-06 14:52:32 +0000 |
---|---|---|
committer | andersen <andersen@69ca8d6d-28ef-0310-b511-8ec308f3f277> | 2001-12-06 14:52:32 +0000 |
commit | 16213be079ec7df974070d467db62e889a44d46d (patch) | |
tree | 430b543e3b98a9028f5c0435b1363b2256d26a24 /init | |
parent | 75dc7d8fde627d6afef9b9bbcbcbec3cac07499b (diff) | |
download | busybox-w32-16213be079ec7df974070d467db62e889a44d46d.tar.gz busybox-w32-16213be079ec7df974070d467db62e889a44d46d.tar.bz2 busybox-w32-16213be079ec7df974070d467db62e889a44d46d.zip |
If find_pid_by_name() had an error, it was returning -1, but storing
that into a pid_t, which is unsigned on a number archs. Furthermore,
find_pid_by_name() would _never_ return an error if the intended proces
was "init", but instead would return 1, meaning we would fail to work
on 2.4.x kernels running an initrd...
-Erik
git-svn-id: svn://busybox.net/trunk/busybox@3854 69ca8d6d-28ef-0310-b511-8ec308f3f277
Diffstat (limited to 'init')
-rw-r--r-- | init/halt.c | 2 | ||||
-rw-r--r-- | init/poweroff.c | 2 | ||||
-rw-r--r-- | init/reboot.c | 2 |
3 files changed, 3 insertions, 3 deletions
diff --git a/init/halt.c b/init/halt.c index 307c1022d..917de8b5a 100644 --- a/init/halt.c +++ b/init/halt.c | |||
@@ -28,7 +28,7 @@ extern int halt_main(int argc, char **argv) | |||
28 | { | 28 | { |
29 | #ifdef CONFIG_FEATURE_INITRD | 29 | #ifdef CONFIG_FEATURE_INITRD |
30 | /* don't assume init's pid == 1 */ | 30 | /* don't assume init's pid == 1 */ |
31 | pid_t *pid = find_pid_by_name("init"); | 31 | long *pid = find_pid_by_name("init"); |
32 | if (!pid || *pid<=0) { | 32 | if (!pid || *pid<=0) { |
33 | pid = find_pid_by_name("linuxrc"); | 33 | pid = find_pid_by_name("linuxrc"); |
34 | if (!pid || *pid<=0) | 34 | if (!pid || *pid<=0) |
diff --git a/init/poweroff.c b/init/poweroff.c index cec2d6ddd..d99b5562d 100644 --- a/init/poweroff.c +++ b/init/poweroff.c | |||
@@ -28,7 +28,7 @@ extern int poweroff_main(int argc, char **argv) | |||
28 | { | 28 | { |
29 | #ifdef CONFIG_FEATURE_INITRD | 29 | #ifdef CONFIG_FEATURE_INITRD |
30 | /* don't assume init's pid == 1 */ | 30 | /* don't assume init's pid == 1 */ |
31 | pid_t *pid = find_pid_by_name("init"); | 31 | long *pid = find_pid_by_name("init"); |
32 | if (!pid || *pid<=0) { | 32 | if (!pid || *pid<=0) { |
33 | pid = find_pid_by_name("linuxrc"); | 33 | pid = find_pid_by_name("linuxrc"); |
34 | if (!pid || *pid<=0) | 34 | if (!pid || *pid<=0) |
diff --git a/init/reboot.c b/init/reboot.c index a13d42492..6f71536d8 100644 --- a/init/reboot.c +++ b/init/reboot.c | |||
@@ -28,7 +28,7 @@ extern int reboot_main(int argc, char **argv) | |||
28 | { | 28 | { |
29 | #ifdef CONFIG_FEATURE_INITRD | 29 | #ifdef CONFIG_FEATURE_INITRD |
30 | /* don't assume init's pid == 1 */ | 30 | /* don't assume init's pid == 1 */ |
31 | pid_t *pid = find_pid_by_name("init"); | 31 | long *pid = find_pid_by_name("init"); |
32 | if (!pid || *pid<=0) { | 32 | if (!pid || *pid<=0) { |
33 | pid = find_pid_by_name("linuxrc"); | 33 | pid = find_pid_by_name("linuxrc"); |
34 | if (!pid || *pid<=0) | 34 | if (!pid || *pid<=0) |