summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErik Andersen2000-02-23 22:49:58 +0000
committerErik Andersen2000-02-23 22:49:58 +0000
commit5b911ddd577373dfcbd3d2dade7089ff611ea35e (patch)
tree85c5c3dc68f1cece663c3cf1ac960225c980e38c
parentdc75a739acefa740f91cf1642f730d5d1a0658ae (diff)
downloadbusybox-5b911ddd577373dfcbd3d2dade7089ff611ea35e.zip
busybox-5b911ddd577373dfcbd3d2dade7089ff611ea35e.tar.gz
Fixed rebooting when init runs as /linuxrc
-Erik
-rw-r--r--Changelog13
-rw-r--r--umount.c4
-rw-r--r--util-linux/umount.c4
-rw-r--r--utility.c4
4 files changed, 17 insertions, 8 deletions
diff --git a/Changelog b/Changelog
index 2465d2c..3c90ab9 100644
--- a/Changelog
+++ b/Changelog
@@ -11,12 +11,13 @@
* Fixed "du" so it gives the same answers as GNU "du" (busybox du used
to count hard-linked files more then once). Many thanks to
Friedrich Vedder <fwv@myrtle.lahn.de> for the fix.
- * Removed /proc dependancies for init and free (while maintaining exactly
- the same functionality). /proc takes up 90k of kernel space, so it is
- nice to avoid using it at all costs.
- * init no longer tries to mount /proc (unless there is less the 1 meg free).
- Use of /proc (or not) is policy that should be set up in /etc/fstab (or
- in hardcoded scripts), not in init.
+ * Removed /proc dependancies for init and free (while maintaining
+ exactly the same functionality). /proc takes up 90k of kernel
+ space, so it is nice to avoid using it at all costs.
+ * init no longer tries to mount /proc (unless there is less the 1 meg
+ free). Use of /proc (or not) is policy that should be set up in
+ /etc/fstab (or in hardcoded scripts), not in init.
+ * Fixed rebooting when init runs as an initrd.
-Erik Andersen
diff --git a/umount.c b/umount.c
index b58b1a0..0f087e1 100644
--- a/umount.c
+++ b/umount.c
@@ -59,9 +59,13 @@ static int doRemount = FALSE;
extern const char mtab_file[]; /* Defined in utility.c */
+
/* These functions are here because the getmntent functions do not appear
* to be re-entrant, which leads to all sorts of problems when we try to
* use them recursively - randolph
+ *
+ * TODO: Perhaps switch to using Glibc's getmntent_r
+ * -Erik
*/
void mtab_read(void)
{
diff --git a/util-linux/umount.c b/util-linux/umount.c
index b58b1a0..0f087e1 100644
--- a/util-linux/umount.c
+++ b/util-linux/umount.c
@@ -59,9 +59,13 @@ static int doRemount = FALSE;
extern const char mtab_file[]; /* Defined in utility.c */
+
/* These functions are here because the getmntent functions do not appear
* to be re-entrant, which leads to all sorts of problems when we try to
* use them recursively - randolph
+ *
+ * TODO: Perhaps switch to using Glibc's getmntent_r
+ * -Erik
*/
void mtab_read(void)
{
diff --git a/utility.c b/utility.c
index 64598fa..0279cca 100644
--- a/utility.c
+++ b/utility.c
@@ -1193,7 +1193,7 @@ extern pid_t findInitPid()
for (init_pid = 1; init_pid < 65536; init_pid++) {
FILE *status;
- sprintf(filename, "/proc/%d/status", init_pid);
+ sprintf(filename, "/proc/%d/cmdline", init_pid);
status = fopen(filename, "r");
if (!status) {
continue;
@@ -1201,7 +1201,7 @@ extern pid_t findInitPid()
fgets(buffer, 256, status);
fclose(status);
- if ((strstr(buffer, "init\n") != NULL)) {
+ if ((strstr(buffer, "init") != NULL)) {
return init_pid;
}
}