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:
parent
c91fb637b6
commit
a5f128e512
@ -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;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user