am 4585e0e9: Merge changes I087d0074,I8a51924e

* commit '4585e0e9f76e2c51a7f4a9679ec8b8d25f9b5e63':
  Permit 0 length writes.
  Let SocketClient users write binary data to clients.
diff --git a/init/keychords.c b/init/keychords.c
index 53ab391..febb62f 100644
--- a/init/keychords.c
+++ b/init/keychords.c
@@ -103,14 +103,14 @@
     // and on user builds for users that are developers.
     debuggable = property_get("ro.debuggable");
     adb_enabled = property_get("init.svc.adbd");
+    ret = read(keychord_fd, &id, sizeof(id));
+    if (ret != sizeof(id)) {
+        ERROR("could not read keychord id\n");
+        return;
+    }
+
     if ((debuggable && !strcmp(debuggable, "1")) ||
         (adb_enabled && !strcmp(adb_enabled, "running"))) {
-        ret = read(keychord_fd, &id, sizeof(id));
-        if (ret != sizeof(id)) {
-            ERROR("could not read keychord id\n");
-            return;
-        }
-
         svc = service_find_by_keychord(id);
         if (svc) {
             INFO("starting service %s from keychord\n", svc->name);