diff options
| -rw-r--r-- | btpd/policy_if.c | 7 |
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 |