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)