Modified: trunk/launchd/src/launchd_core_logic.c (23464 => 23465)
--- trunk/launchd/src/launchd_core_logic.c 2007-12-12 21:12:28 UTC (rev 23464)
+++ trunk/launchd/src/launchd_core_logic.c 2007-12-12 21:54:32 UTC (rev 23465)
@@ -6701,7 +6701,7 @@
void
do_unmounts(void)
{
- struct statfs buf[100];
+ struct statfs buf[250];
int i, found, returned;
do {
@@ -6712,7 +6712,8 @@
return;
}
- for (i = 0; i < returned; i++) {
+ /* Work backwards due to mounts on top of mounts */
+ for (i = returned - 1; i >= 0; i--) {
if (strcmp(buf[i].f_mntonname, "/") == 0) {
continue;
} else if (strncmp(buf[i].f_mntonname, "/dev", strlen("/dev")) == 0) {