commit de576cad4bbdd4901ee1857334a7420593ef2458 Author: Sreenatha Bhatlapenumarthi sreenatha.dev@gmail.com Date: Thu Apr 25 06:36:27 2013 +0530
Updating GETCONF cache after CONF_CHANGED events
https://trac.torproject.org/7713 --- stem/control.py | 13 +++++++++++++ 1 files changed, 13 insertions(+), 0 deletions(-)
diff --git a/stem/control.py b/stem/control.py index 2312712..2e83a64 100644 --- a/stem/control.py +++ b/stem/control.py @@ -675,6 +675,19 @@ class Controller(BaseController):
self.add_event_listener(_sighup_listener, EventType.SIGNAL)
+ def _confchanged_listener(event): + if self.is_caching_enabled(): + for param, value in event.config.items(): + cache_key = "getconf.%s" % param.lower() + + if cache_key in self._request_cache: + del self._request_cache[cache_key] + + if param.lower() == "exitpolicy" and "exit_policy" in self._request_cache: + del self._request_cache["exit_policy"] + + self.add_event_listener(_confchanged_listener, EventType.CONF_CHANGED) + def connect(self): super(Controller, self).connect() self.clear_cache()
tor-commits@lists.torproject.org