From a5f128e5129ee3a6f7331d07eb1cdb744df276cb Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Fri, 2 Mar 2007 00:32:26 +0000 Subject: [PATCH] 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 --- .../r5/src/test/ramfs/BlockAllocatorArea.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/BlockAllocatorArea.cpp b/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/BlockAllocatorArea.cpp index ef0a51cd49..98daa2e0e5 100644 --- a/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/BlockAllocatorArea.cpp +++ b/src/tests/add-ons/kernel/file_systems/userlandfs/r5/src/test/ramfs/BlockAllocatorArea.cpp @@ -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; }