Index: deluge/core/signalmanager.py =================================================================== --- deluge/core/signalmanager.py (revision 2735) +++ deluge/core/signalmanager.py (working copy) @@ -62,12 +62,14 @@ self.clients[uri] = xmlrpclib.ServerProxy(uri) def emit(self, signal, *data): - for client in self.clients.values(): - gobject.idle_add(self._emit, client, signal, *data) + for uri in self.clients: + gobject.idle_add(self._emit, uri, signal, *data) - def _emit(self, client, signal, *data): + def _emit(self, uri, signal, *data): + client = self.clients[uri] try: client.emit_signal(signal, *data) except (socket.error, Exception), e: log.warning("Unable to emit signal to client %s: %s", client, e) - + del self.clients[uri] +