summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--btpd/policy_if.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/btpd/policy_if.c b/btpd/policy_if.c
index 18b9e73..f31bb1d 100644
--- a/btpd/policy_if.c
+++ b/btpd/policy_if.c
@@ -58,8 +58,11 @@ cm_on_download(struct peer *p)
     struct torrent *tp = p->tp;
     if (tp->endgame) {
 	cm_assign_requests_eg(p);
-    } else if (cm_assign_requests(p) == 0)
-	assert(!peer_wanted(p) || peer_laden(p));
+    } else {
+	unsigned count = cm_assign_requests(p);
+	if (count == 0 && !p->tp->endgame) // We may have entered end game.
+	    assert(!peer_wanted(p) || peer_laden(p));
+    }
 }
 
 void