Update launchpad usage.

launchpad_start was removed, so use launchpad_go. Also properly clone
the fd namespace so sockets can be opened.

Change-Id: Ibc24153d297c18805a8ee3829c666ca6f0c60074
diff --git a/framework/delibs/deutil/deFuchsiaProcess.cc b/framework/delibs/deutil/deFuchsiaProcess.cc
index b80c3bd..042e702 100644
--- a/framework/delibs/deutil/deFuchsiaProcess.cc
+++ b/framework/delibs/deutil/deFuchsiaProcess.cc
@@ -76,8 +76,9 @@
         fstdout_ = deFile_createFromHandle(stdout_fd);
         fstderr_ = deFile_createFromHandle(stderr_fd);
 
-        proc_ = launchpad_start(lp_);
-        if (proc_ == ZX_HANDLE_INVALID)
+        const char* errmsg = NULL;
+        status = launchpad_go(lp_, &proc_, &errmsg);
+        if (status != ZX_OK)
             return false;
 
         return true;
@@ -173,20 +174,10 @@
       fprintf(stderr, "launcpad_set_args failed: %d\n", status);
     assert(status == ZX_OK);
 
-    zx_handle_t vfs_root;
-    uint32_t vfs_root_type;
-
-    status = fdio_clone_root(&vfs_root, &vfs_root_type);
-    if (status <= 0) { // positive values apparently are ok
-      fprintf(stderr, "fdio_clone_root failed: %d\n", status);
-      assert(false);
-    }
-
-    status =
-        launchpad_add_handle(process->launchpad(), vfs_root, vfs_root_type);
-    if (status != ZX_OK)
-      fprintf(stderr, "launchpad_add_handle failed: %d\n", status);
+    status = launchpad_clone(process->launchpad(), LP_CLONE_FDIO_NAMESPACE | LP_CLONE_FDIO_CWD);
     assert(status == ZX_OK);
+    if (status != ZX_OK)
+      fprintf(stderr, "launchpad_clone failed: %d\n", status);
 
     status = launchpad_load_from_file(process->launchpad(), cmdLine->args[0]);
     if (status != ZX_OK)