diff options
| author | yamt <yamt@NetBSD.org> | 2008-05-24 14:24:04 +0000 |
|---|---|---|
| committer | yamt <yamt@NetBSD.org> | 2008-05-24 14:24:04 +0000 |
| commit | 6787eedebd483bef9f0aa1d6279fbaf4818c7d6b (patch) | |
| tree | 364ae5d0c040c84b408bdf7055463828cffda95e /common/lib/libprop/prop_array.c | |
| parent | 9b5a328100ea92808b78ee92a7c263261f32b2d5 (diff) | |
revert the recent "use trylock to hide locking errors" changes
and their associated changes, in particular, the following versions.
prop_array.c 1.13-1.16
prop_dictionary.c 1.25-1.28
prop_object_impl.h 1.21-1.25
ok'ed by core@.
Diffstat (limited to 'common/lib/libprop/prop_array.c')
| -rw-r--r-- | common/lib/libprop/prop_array.c | 22 |
1 files changed, 7 insertions, 15 deletions
diff --git a/common/lib/libprop/prop_array.c b/common/lib/libprop/prop_array.c index 706ee220738..55e8e8e542e 100644 --- a/common/lib/libprop/prop_array.c +++ b/common/lib/libprop/prop_array.c @@ -1,4 +1,4 @@ -/* $NetBSD: prop_array.c,v 1.16 2008/05/07 10:16:41 tron Exp $ */ +/* $NetBSD: prop_array.c,v 1.17 2008/05/24 14:24:04 yamt Exp $ */ /*- * Copyright (c) 2006, 2007 The NetBSD Foundation, Inc. @@ -312,11 +312,10 @@ _prop_array_iterator_next_object(void *v) struct _prop_array_iterator *pai = v; prop_array_t pa = pai->pai_base.pi_obj; prop_object_t po = NULL; - bool acquired; _PROP_ASSERT(prop_object_is_array(pa)); - acquired = _PROP_RWLOCK_TRYRDLOCK(pa->pa_rwlock); - _PROP_RWLOCK_OWNED(pa->pa_rwlock); + + _PROP_RWLOCK_RDLOCK(pa->pa_rwlock); if (pa->pa_version != pai->pai_base.pi_version) goto out; /* array changed during iteration */ @@ -330,9 +329,7 @@ _prop_array_iterator_next_object(void *v) pai->pai_index++; out: - if (acquired) { - _PROP_RWLOCK_UNLOCK(pa->pa_rwlock); - } + _PROP_RWLOCK_UNLOCK(pa->pa_rwlock); return (po); } @@ -341,18 +338,15 @@ _prop_array_iterator_reset(void *v) { struct _prop_array_iterator *pai = v; prop_array_t pa = pai->pai_base.pi_obj; - bool acquired; _PROP_ASSERT(prop_object_is_array(pa)); - acquired = _PROP_RWLOCK_TRYRDLOCK(pa->pa_rwlock); - _PROP_RWLOCK_OWNED(pa->pa_rwlock); + + _PROP_RWLOCK_RDLOCK(pa->pa_rwlock); pai->pai_index = 0; pai->pai_base.pi_version = pa->pa_version; - if (acquired) { - _PROP_RWLOCK_UNLOCK(pa->pa_rwlock); - } + _PROP_RWLOCK_UNLOCK(pa->pa_rwlock); } /* @@ -508,9 +502,7 @@ prop_array_iterator(prop_array_t pa) pai->pai_base.pi_reset = _prop_array_iterator_reset; prop_object_retain(pa); pai->pai_base.pi_obj = pa; - _PROP_RWLOCK_RDLOCK(pa->pa_rwlock); _prop_array_iterator_reset(pai); - _PROP_RWLOCK_UNLOCK(pa->pa_rwlock); return (&pai->pai_base); } |
