diff --git a/mixing/mixclient/client.go b/mixing/mixclient/client.go index a499d99b6..0b8bf9855 100644 --- a/mixing/mixclient/client.go +++ b/mixing/mixclient/client.go @@ -927,7 +927,7 @@ func (c *Client) pairSession(ctx context.Context, ps *pairedSessions, prs []*wir d.epoch = epoch d.start(epoch) for { - var localPeerCount int + var localPeerCount, localUncancelledCount int if rerun == nil { sid := mixing.SortPRsForSession(prs, unixEpoch) @@ -963,6 +963,9 @@ func (c *Client) pairSession(ctx context.Context, ps *pairedSessions, prs []*wir p := ps.localPeers[pr.Identity] if p != nil { localPeerCount++ + if p.ctx.Err() == nil { + localUncancelledCount++ + } } else { p = newRemotePeer(pr) } @@ -979,8 +982,8 @@ func (c *Client) pairSession(ctx context.Context, ps *pairedSessions, prs []*wir sesLog.logf("created session for pairid=%x from %d total %d local PRs %s", ps.pairing, len(prHashes), localPeerCount, prHashes) - if localPeerCount == 0 { - sesLog.logf("no more local peers") + if localUncancelledCount == 0 { + sesLog.logf("no more active local peers") return }