summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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);