Change proc_mgmt/pending_clients.h to use reply queues instead of hashtables.
[barrelfish] / usr / proc_mgmt / domain.c
index 9a0d89d..09f7125 100644 (file)
@@ -33,6 +33,7 @@ errval_t domain_new(struct capref domain_cap, struct domain_entry **ret_entry)
     entry->status = DOMAIN_STATUS_NIL;
     memset(entry->spawnds, 0, sizeof(entry->spawnds));
     entry->num_spawnds_running = 0;
+    entry->num_spawnds_resources = 0;
     entry->waiters = NULL;
 
     if (domain_table == NULL) {
@@ -87,6 +88,7 @@ void domain_run_on_core(struct domain_entry *entry, coreid_t core_id)
 
     entry->spawnds[core_id] = spawnd_state_get(core_id);
     ++entry->num_spawnds_running;
+    ++entry->num_spawnds_resources;
 }
 
 errval_t domain_spawn(struct capref domain_cap, coreid_t core_id)
@@ -105,28 +107,6 @@ errval_t domain_spawn(struct capref domain_cap, coreid_t core_id)
     return SYS_ERR_OK;
 }
 
-errval_t domain_can_span(struct capref domain_cap, coreid_t core_id)
-{
-    struct domain_entry *entry = NULL;
-    errval_t err = domain_get_by_cap(domain_cap, &entry);
-    if (err_is_fail(err)) {
-        return err;
-    }
-
-    assert(entry != NULL);
-    if (entry->status != DOMAIN_STATUS_RUNNING) {
-        return PROC_MGMT_ERR_DOMAIN_NOT_RUNNING;
-    }
-
-    if (entry->spawnds[core_id] != NULL) {
-        // TODO(razvan): Maybe we want to allow the same domain to span multiple
-        // dispatchers onto the same core?
-        return PROC_MGMT_ERR_ALREADY_SPANNED;
-    }
-
-    return SYS_ERR_OK;
-}
-
 errval_t domain_span(struct capref domain_cap, coreid_t core_id)
 {
     struct domain_entry *entry = NULL;