From dc5cb8159a674d264f3a88034af9a46ba26da180 Mon Sep 17 00:00:00 2001 From: ygrek Date: Mon, 10 May 2010 11:56:05 +0300 Subject: [PATCH] remove peer on receiving stopped --- src/networks/bittorrent/bTTracker.ml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/networks/bittorrent/bTTracker.ml b/src/networks/bittorrent/bTTracker.ml index ca438853..d0555dd6 100644 --- a/src/networks/bittorrent/bTTracker.ml +++ b/src/networks/bittorrent/bTTracker.ml @@ -210,7 +210,7 @@ let reply_has_tracker r info_hash peer_id peer_ip peer_port peer_key peer_left p new_tracker info_hash in - let _ = + let peer = try let peer = Hashtbl.find tracker.tracker_table peer_id @@ -250,6 +250,8 @@ let reply_has_tracker r info_hash peer_id peer_ip peer_port peer_key peer_left p void_message (* Reply with clients that could not connect to this tracker otherwise *) | "stopped" -> + Hashtbl.remove tracker.tracker_table peer_id; + Fifo.remove tracker.tracker_peers peer; if peer_left > 0 then tracker.tracker_incomplete <- tracker.tracker_incomplete - 1 else -- 2.11.4.GIT