diff options
author | neal <neal> | 2008-06-07 13:16:26 +0000 |
---|---|---|
committer | neal <neal> | 2008-06-07 13:16:26 +0000 |
commit | e650eae91102ed33304c82edf9a431cd74d79792 (patch) | |
tree | dbd6c32f79e82d41bd2f4292251dc3688d3bb152 /libc-parts/process-spawn.c | |
parent | d12752e70f58172c21a03f27ffe29fd6392e3adf (diff) |
2008-06-07 Neal H. Walfield <neal@gnu.org>
* process-spawn.c (process_spawn): When allocating a folio, only
update the shadow capability's type after the folio has actually
been allocated.
Diffstat (limited to 'libc-parts/process-spawn.c')
-rw-r--r-- | libc-parts/process-spawn.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/libc-parts/process-spawn.c b/libc-parts/process-spawn.c index 52560d8..6cb089f 100644 --- a/libc-parts/process-spawn.c +++ b/libc-parts/process-spawn.c @@ -345,15 +345,17 @@ process_spawn (addr_t activity, if (ADDR_IS_VOID (folio_local_addr)) panic ("Failed to allocate address space for folio"); - as_ensure_use (folio_local_addr, - ({ - slot->type = cap_folio; - })); + as_ensure (folio_local_addr); error_t err = rm_folio_alloc (activity, folio_local_addr, FOLIO_POLICY_DEFAULT); if (err) panic ("Failed to allocate folio"); + + as_slot_lookup_use (folio_local_addr, + ({ + slot->type = cap_folio; + })); #endif folio_index = 0; |