proc_mgmt: implementation spawn_wait() with nohang flag
[barrelfish] / lib / barrelfish / spawn_client.c
index 08609e2..27e0067 100644 (file)
@@ -866,7 +866,7 @@ errval_t spawn_wait(struct capref domain_cap, uint8_t *status, bool nohang)
     struct proc_mgmt_binding *b = get_proc_mgmt_binding();
     assert(b != NULL);
 
-    err = b->rpc_tx_vtbl.wait(b, domain_cap, &msgerr, status);
+    err = b->rpc_tx_vtbl.wait(b, domain_cap, nohang, &msgerr, status);
     if (err_is_fail(err)) {
         USER_PANIC_ERR(err, "error sending wait request to process manager");
     }
@@ -900,16 +900,16 @@ errval_t spawn_wait_compat(uint8_t domainid,
 errval_t spawn_get_domain_list(uint8_t **domains, size_t *len)
 {
     errval_t err;
-
-    struct spawn_binding *cl;
-    err = spawn_binding(disp_get_core_id(), &cl);
+    err = proc_mgmt_bind_client();
     if (err_is_fail(err)) {
-        USER_PANIC_ERR(err, "spawn_binding");
+        return err;
     }
-    assert(cl != NULL);
 
-    struct spawn_get_domainlist_response__rx_args reply;
-    err = cl->rpc_tx_vtbl.get_domainlist(cl, reply.domains, len);
+    struct proc_mgmt_binding *b = get_proc_mgmt_binding();
+    assert(b != NULL);
+
+    struct proc_mgmt_get_domainlist_response__rx_args reply;
+    err = b->rpc_tx_vtbl.get_domainlist(b, reply.domains, len);
     if (err_is_fail(err)) {
         USER_PANIC_ERR(err, "get_domainlist");
     }
@@ -921,9 +921,10 @@ errval_t spawn_get_domain_list(uint8_t **domains, size_t *len)
 /**
  * \brief Get the status of a domain for ps like implementation
  */
-errval_t spawn_get_status(uint8_t domain, struct spawn_ps_entry *pse,
+errval_t spawn_get_status(domainid_t domain_id, struct spawn_ps_entry *pse,
                           char **argbuf, size_t *arglen, errval_t *reterr)
 {
+    /*
     errval_t err;
 
     struct spawn_binding *cl;
@@ -941,6 +942,8 @@ errval_t spawn_get_status(uint8_t domain, struct spawn_ps_entry *pse,
     }
 
     *argbuf = memdup(reply.argv, *arglen);
+    
+*/
     return SYS_ERR_OK;
 }