Move crypt commands to a different listener in vold
In order to prevent this bug from happening, we must allow vold cryptfs
commands to complete while a long running mount is underway.
While waiting for vold to be changed to a binder interface, we will simply
create two listeners, one for cryptfs and one for everything else.
Bug: 19197175
Change-Id: If74142aa81abd58f718a9de6c9e387f6ea442754
diff --git a/vdc.c b/vdc.c
index 764063c..c6b2c92 100644
--- a/vdc.c
+++ b/vdc.c
@@ -54,7 +54,12 @@
exit(5);
}
- while ((sock = socket_local_client("vold",
+ const char* sockname = "vold";
+ if (!strcmp(argv[1], "cryptfs")) {
+ sockname = "cryptd";
+ }
+
+ while ((sock = socket_local_client(sockname,
ANDROID_SOCKET_NAMESPACE_RESERVED,
SOCK_STREAM)) < 0) {
if(!wait_for_socket) {
@@ -74,6 +79,7 @@
static int do_cmd(int sock, int argc, char **argv) {
char final_cmd[255] = "0 "; /* 0 is a (now required) sequence number */
+
int i;
size_t ret;
@@ -166,4 +172,3 @@
fprintf(stderr,
"Usage: %s [--wait] <monitor>|<cmd> [arg1] [arg2...]\n", progname);
}
-