diff options
author | neal <neal> | 2008-06-14 07:38:13 +0000 |
---|---|---|
committer | neal <neal> | 2008-06-14 07:38:13 +0000 |
commit | bc31639281266a6e46deb0d19291e928c19e8542 (patch) | |
tree | 708172b1e19b70a7e5ec337b5f93811db35823a6 /libhurd-mm/anonymous.c | |
parent | 17c434cbef932b3de134e4cbed240ab30069d91a (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.c | 20 |
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) |