diff options
author | Erik Andersen | 2000-02-23 22:49:58 +0000 |
---|---|---|
committer | Erik Andersen | 2000-02-23 22:49:58 +0000 |
commit | 5b911ddd577373dfcbd3d2dade7089ff611ea35e (patch) | |
tree | 85c5c3dc68f1cece663c3cf1ac960225c980e38c | |
parent | dc75a739acefa740f91cf1642f730d5d1a0658ae (diff) | |
download | busybox-5b911ddd577373dfcbd3d2dade7089ff611ea35e.zip busybox-5b911ddd577373dfcbd3d2dade7089ff611ea35e.tar.gz |
Fixed rebooting when init runs as /linuxrc
-Erik
-rw-r--r-- | Changelog | 13 | ||||
-rw-r--r-- | umount.c | 4 | ||||
-rw-r--r-- | util-linux/umount.c | 4 | ||||
-rw-r--r-- | utility.c | 4 |
4 files changed, 17 insertions, 8 deletions
@@ -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 @@ -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) { @@ -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; } } |