summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libhurd-mm/ChangeLog5
-rw-r--r--libhurd-mm/storage.c3
2 files changed, 6 insertions, 2 deletions
diff --git a/libhurd-mm/ChangeLog b/libhurd-mm/ChangeLog
index 526093e..4c86ccb 100644
--- a/libhurd-mm/ChangeLog
+++ b/libhurd-mm/ChangeLog
@@ -1,3 +1,8 @@
+2008-05-31 Neal H. Walfield <neal@gnu.org>
+
+ * storage.c (storage_check_reserve_internal): If we don't get
+ AS_LOCK, don't jump to out_unlock, just return.
+
2008-05-30 Neal H. Walfield <neal@gnu.org>
* storage.c: Remove debugging code accidentally checked in in last
diff --git a/libhurd-mm/storage.c b/libhurd-mm/storage.c
index 442c924..20daf96 100644
--- a/libhurd-mm/storage.c
+++ b/libhurd-mm/storage.c
@@ -375,7 +375,7 @@ storage_check_reserve_internal (bool force_allocate,
{
extern pthread_rwlock_t as_lock;
if (pthread_rwlock_trywrlock (&as_lock) == EBUSY)
- goto out_unlock;
+ return;
pthread_rwlock_unlock (&as_lock);
}
@@ -474,7 +474,6 @@ storage_check_reserve_internal (bool force_allocate,
a new reserve slab buffer. */
check_slab_space_reserve ();
- out_unlock:
if (have_lock)
pthread_mutex_unlock (&storage_low_mutex);
}