From 14e132e2bc34d0f80d1838e637cc4fea809360c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Wed, 21 Dec 2005 17:58:49 +0000 Subject: [PATCH] Reactivated check for failed semaphore creation - after kernel startup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15644 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/system/kernel/vm/vm_cache.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/system/kernel/vm/vm_cache.c b/src/system/kernel/vm/vm_cache.c index 949b1ba2ce..35450845c3 100644 --- a/src/system/kernel/vm/vm_cache.c +++ b/src/system/kernel/vm/vm_cache.c @@ -120,14 +120,18 @@ vm_cache_ref * vm_cache_ref_create(vm_cache *cache) { vm_cache_ref *ref; + status_t status; ref = malloc(sizeof(vm_cache_ref)); if (ref == NULL) return NULL; - if (mutex_init(&ref->lock, "cache_ref_mutex") < B_OK) { -// free(ref); -// return NULL; + status = mutex_init(&ref->lock, "cache_ref_mutex"); + if (status < B_OK && (!kernel_startup || status != B_NO_MORE_SEMS)) { + // During early boot, we cannot create semaphores - they are + // created later in vm_init_post_sem() + free(ref); + return NULL; } ref->areas = NULL;