diff options
-rw-r--r-- | libhurd-mm/ChangeLog | 5 | ||||
-rw-r--r-- | libhurd-mm/storage.c | 3 |
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); } |