about summary refs log tree commit diff
diff options
context:
space:
mode:
authorRichard Nyberg <rnyberg@murmeldjur.se>2005-08-03 21:08:04 +0000
committerRichard Nyberg <rnyberg@murmeldjur.se>2005-08-03 21:08:04 +0000
commitfcbec726e5e5fadaad46fa05fcc13f7c9f8810ea (patch)
treecbd84721d1bfd12fe0fcdfedd55da573bbda0890
parent2acdcff5a62ff7ae6279de0021a10c0411230498 (diff)
downloadbtpd-fcbec726e5e5fadaad46fa05fcc13f7c9f8810ea.tar.gz
btpd-fcbec726e5e5fadaad46fa05fcc13f7c9f8810ea.zip
Only allocate one have message for all peers, instead of one per peer.
-rw-r--r--btpd/policy_if.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/btpd/policy_if.c b/btpd/policy_if.c
index 88d49fe..f1b2e44 100644
--- a/btpd/policy_if.c
+++ b/btpd/policy_if.c
@@ -137,8 +137,9 @@ cm_on_ok_piece(struct piece *pc)
     tp->have_npieces++;
     msync(tp->imem, tp->isiz, MS_ASYNC);
 
+    struct net_buf *have = nb_create_have(pc->index);
     BTPDQ_FOREACH(p, &tp->peers, cm_entry)
-	peer_have(p, pc->index);
+	peer_send(p, have);
 
     if (tp->endgame)
 	BTPDQ_FOREACH(p, &tp->peers, cm_entry)