Undo Utils dependency on VolumeManager
I want to use Utils in another executable, so breaking this link.
Bug: 25861755
Test: compiles (and boots, though that doesn't exercise changed code)
Change-Id: I6bb447453bb370fefb7f2f3aceb459428bdee6a7
diff --git a/Utils.cpp b/Utils.cpp
index 9c19190..1f6ff21 100644
--- a/Utils.cpp
+++ b/Utils.cpp
@@ -14,10 +14,10 @@
* limitations under the License.
*/
-#include "sehandle.h"
#include "Utils.h"
+
#include "Process.h"
-#include "VolumeManager.h"
+#include "sehandle.h"
#include <android-base/file.h>
#include <android-base/logging.h>
@@ -55,6 +55,8 @@
security_context_t sFsckContext = nullptr;
security_context_t sFsckUntrustedContext = nullptr;
+bool sSleepOnUnmount = true;
+
static const char* kBlkidPath = "/system/bin/blkid";
static const char* kKeyPath = "/data/misc/vold";
@@ -134,22 +136,22 @@
}
// Apps might still be handling eject request, so wait before
// we start sending signals
- if (!VolumeManager::shutting_down) sleep(5);
+ if (sSleepOnUnmount) sleep(5);
KillProcessesWithOpenFiles(path, SIGINT);
- if (!VolumeManager::shutting_down) sleep(5);
+ if (sSleepOnUnmount) sleep(5);
if (!umount2(cpath, UMOUNT_NOFOLLOW) || errno == EINVAL || errno == ENOENT) {
return OK;
}
KillProcessesWithOpenFiles(path, SIGTERM);
- if (!VolumeManager::shutting_down) sleep(5);
+ if (sSleepOnUnmount) sleep(5);
if (!umount2(cpath, UMOUNT_NOFOLLOW) || errno == EINVAL || errno == ENOENT) {
return OK;
}
KillProcessesWithOpenFiles(path, SIGKILL);
- if (!VolumeManager::shutting_down) sleep(5);
+ if (sSleepOnUnmount) sleep(5);
if (!umount2(cpath, UMOUNT_NOFOLLOW) || errno == EINVAL || errno == ENOENT) {
return OK;
}
@@ -161,17 +163,17 @@
if (KillProcessesWithOpenFiles(path, SIGINT) == 0) {
return OK;
}
- if (!VolumeManager::shutting_down) sleep(5);
+ if (sSleepOnUnmount) sleep(5);
if (KillProcessesWithOpenFiles(path, SIGTERM) == 0) {
return OK;
}
- if (!VolumeManager::shutting_down) sleep(5);
+ if (sSleepOnUnmount) sleep(5);
if (KillProcessesWithOpenFiles(path, SIGKILL) == 0) {
return OK;
}
- if (!VolumeManager::shutting_down) sleep(5);
+ if (sSleepOnUnmount) sleep(5);
// Send SIGKILL a second time to determine if we've
// actually killed everyone with open files