aboutsummaryrefslogtreecommitdiffhomepage
path: root/examples
diff options
context:
space:
mode:
authorGravatar Mason Larobina <mason.larobina@gmail.com>2009-08-28 01:13:12 +0800
committerGravatar Mason Larobina <mason.larobina@gmail.com>2009-08-28 01:13:12 +0800
commit8358831de537895a7935efba021eda149d3fde28 (patch)
treef0776aac676f65ef512ca8a6a673eafbca7c64ec /examples
parent1f6c39f8c2b2702a57a598caf0049767961a7e2a (diff)
Poll for whitelist changes only after idle periods in cookie_daemon.py
Diffstat (limited to 'examples')
-rwxr-xr-xexamples/data/uzbl/scripts/cookie_daemon.py15
1 files changed, 13 insertions, 2 deletions
diff --git a/examples/data/uzbl/scripts/cookie_daemon.py b/examples/data/uzbl/scripts/cookie_daemon.py
index 0b3954a..ae9c4f4 100755
--- a/examples/data/uzbl/scripts/cookie_daemon.py
+++ b/examples/data/uzbl/scripts/cookie_daemon.py
@@ -407,6 +407,9 @@ class CookieMonster:
daemon_timeout = config['daemon_timeout']
use_whitelist = config['use_whitelist']
+ if use_whitelist:
+ check_whitelist = False
+
echo("listening on %r" % config['cookie_socket'])
while self._running:
@@ -416,6 +419,12 @@ class CookieMonster:
self.server_socket.listen(1)
if bool(select.select([self.server_socket], [], [], 1)[0]):
+ # If the daemons been idle check if the whitelist has been
+ # modified.
+ if use_whitelist and check_whitelist:
+ self.check_whitelist()
+ check_whitelist = False
+
client_socket, _ = self.server_socket.accept()
self.handle_request(client_socket)
self.last_request = time.time()
@@ -428,8 +437,10 @@ class CookieMonster:
if idle > daemon_timeout:
self._running = False
- if use_whitelist:
- self.check_whitelist()
+ if use_whitelist and not check_whitelist:
+ # Signals that the daemon has been idle and the whitelist
+ # should be checked before serving the next cookie request.
+ check_whitelist = True
def handle_request(self, client_socket):