aboutsummaryrefslogtreecommitdiff
path: root/init
diff options
context:
space:
mode:
authorEric Andersen <andersen@codepoet.org>2001-12-06 14:52:32 +0000
committerEric Andersen <andersen@codepoet.org>2001-12-06 14:52:32 +0000
commitb24d65659f193cd7497dfdae4d8aa1bc91dbf343 (patch)
tree430b543e3b98a9028f5c0435b1363b2256d26a24 /init
parent06656f363de87846086f03c5e12541a66637858e (diff)
downloadbusybox-w32-b24d65659f193cd7497dfdae4d8aa1bc91dbf343.tar.gz
busybox-w32-b24d65659f193cd7497dfdae4d8aa1bc91dbf343.tar.bz2
busybox-w32-b24d65659f193cd7497dfdae4d8aa1bc91dbf343.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
Diffstat (limited to 'init')
-rw-r--r--init/halt.c2
-rw-r--r--init/poweroff.c2
-rw-r--r--init/reboot.c2
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)