summaryrefslogtreecommitdiff
path: root/libhurd-mm/anonymous.c
diff options
context:
space:
mode:
authorneal <neal>2008-06-14 07:38:13 +0000
committerneal <neal>2008-06-14 07:38:13 +0000
commitbc31639281266a6e46deb0d19291e928c19e8542 (patch)
tree708172b1e19b70a7e5ec337b5f93811db35823a6 /libhurd-mm/anonymous.c
parent17c434cbef932b3de134e4cbed240ab30069d91a (diff)
2008-06-14 Neal H. Walfield <neal@gnu.org>
* anonymous.c (anonymous_pager_alloc): If allocating a specific address fails, really fail.
Diffstat (limited to 'libhurd-mm/anonymous.c')
-rw-r--r--libhurd-mm/anonymous.c20
1 files changed, 11 insertions, 9 deletions
diff --git a/libhurd-mm/anonymous.c b/libhurd-mm/anonymous.c
index 2ed62b9..d9b56f1 100644
--- a/libhurd-mm/anonymous.c
+++ b/libhurd-mm/anonymous.c
@@ -370,18 +370,20 @@ anonymous_pager_alloc (addr_t activity,
if ((flags & ANONYMOUS_FIXED))
goto error_with_buffer;
}
+ else
+ {
+ alloced = true;
- alloced = true;
-
- /* The region that we are actually paging. */
- anon->pager.region.start = PTR_TO_ADDR (hint);
- anon->pager.region.count = size;
+ /* The region that we are actually paging. */
+ anon->pager.region.start = PTR_TO_ADDR (hint);
+ anon->pager.region.count = size;
- /* The region that we allocated. */
- anon->alloced_region.start = addr;
- anon->alloced_region.count = count;
+ /* The region that we allocated. */
+ anon->alloced_region.start = addr;
+ anon->alloced_region.count = count;
- *addr_out = hint;
+ *addr_out = hint;
+ }
}
if (! alloced)