From 9a555e6710af61d9cce0c0b84561a35ba23cf7d2 Mon Sep 17 00:00:00 2001 From: Brian Warner Date: Sun, 3 Dec 2006 00:53:07 -0700 Subject: [PATCH] client: closures confuse me, late binding bites me yet again --- allmydata/client.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/allmydata/client.py b/allmydata/client.py index bc004789..a8608722 100644 --- a/allmydata/client.py +++ b/allmydata/client.py @@ -82,11 +82,13 @@ class Client(node.Node, Referenceable): self.all_peers.add(nodeid) if nodeid not in self.connections: d = self.tub.getReference(pburl) - def _got_reference(ref): - self.log("connected to %s" % idlib.b2a(nodeid)) - if nodeid in self.all_peers: - self.connections[nodeid] = ref - d.addCallback(_got_reference) + def _got_reference(ref, which_nodeid): + self.log("connected to %s" % idlib.b2a(which_nodeid)) + if which_nodeid in self.all_peers: + self.connections[which_nodeid] = ref + else: + log.msg(" ignoring it because we no longer want to talk to them") + d.addCallback(_got_reference, nodeid) def remote_lost_peers(self, lost_peers): for nodeid in lost_peers: -- 2.45.2