summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiles Bader <miles@gnu.org>1995-09-05 22:14:35 +0000
committerMiles Bader <miles@gnu.org>1995-09-05 22:14:35 +0000
commit3d9adddaaa2d7b3070a49b4a6473650ad7134dac (patch)
treeca99c29ede055f397ee2214062eae39b34e87b7c
parent8cf9bbd397009902b9cb385bd2065a1450c0c925 (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.
-rw-r--r--libpager/chg-compl.c12
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);