There's the supposed "out of memory" problem. Haiku is stricter than

BeOS and rejects create_area() requests with B_ANY_KERNEL_ADDRESS
address specification.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20294 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Ingo Weinhold 2007-03-02 00:32:26 +00:00
parent c91fb637b6
commit a5f128e512

View File

@ -30,10 +30,19 @@ BlockAllocator::Area::Create(size_t size)
{
Area *area = NULL;
void *base = NULL;
#if USER
area_id id = create_area("block alloc", &base, B_ANY_ADDRESS,
size, B_NO_LOCK, B_READ_AREA | B_WRITE_AREA);
#else
area_id id = create_area("block alloc", &base, B_ANY_KERNEL_ADDRESS,
size, B_FULL_LOCK, B_READ_AREA | B_WRITE_AREA);
if (id >= 0)
#endif
if (id >= 0) {
area = new(base) Area(id, size);
} else {
ERROR(("BlockAllocator::Area::Create(%lu): Failed to create area: %s\n",
size, strerror(id)));
}
return area;
}