diff options
author | Miles Bader <miles@gnu.org> | 1995-09-05 22:14:35 +0000 |
---|---|---|
committer | Miles Bader <miles@gnu.org> | 1995-09-05 22:14:35 +0000 |
commit | 3d9adddaaa2d7b3070a49b4a6473650ad7134dac (patch) | |
tree | ca99c29ede055f397ee2214062eae39b34e87b7c /libpager | |
parent | 8cf9bbd397009902b9cb385bd2065a1450c0c925 (diff) |
(_pager_seqnos_memory_object_change_completed):
Don't push the attrs_pending field negative in the case where the
pager was terminated before we get called.
Diffstat (limited to 'libpager')
-rw-r--r-- | libpager/chg-compl.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/libpager/chg-compl.c b/libpager/chg-compl.c index b26d9647..7d3994b0 100644 --- a/libpager/chg-compl.c +++ b/libpager/chg-compl.c @@ -41,12 +41,12 @@ _pager_seqnos_memory_object_change_completed (mach_port_t obj, _pager_wait_for_seqno (p, seq); for (ar = p->attribute_requests; ar; ar = ar->next) - if (ar->may_cache == maycache && ar->copy_strategy == strat - && !--ar->attrs_pending) - break; - - if (ar) - condition_broadcast (&p->wakeup); + if (ar->may_cache == maycache && ar->copy_strategy == strat) + { + if (ar->attrs_pending && !--ar->attrs_pending) + condition_broadcast (&p->wakeup); + break; + } _pager_release_seqno (p, seq); mutex_unlock (&p->interlock); |