From 09ad4133fb375182a4a81fe4e122dfbd4a6c0126 Mon Sep 17 00:00:00 2001 From: shortcutme Date: Mon, 27 Feb 2017 00:08:46 +0100 Subject: [PATCH] 20 sec timeout for listModified --- src/Site/Site.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/Site/Site.py b/src/Site/Site.py index f3b601fd..22a2c19a 100644 --- a/src/Site/Site.py +++ b/src/Site/Site.py @@ -289,11 +289,13 @@ class Site(object): if not peers_try or len(queried) >= 3: # Stop after 3 successful query break peer = peers_try.pop(0) - if not peer.connection and len(queried) < 2: - peer.connect() # Only open new connection if less than 2 queried already - if not peer.connection or peer.connection.handshake.get("rev", 0) < 126: - continue # Not compatible - res = peer.listModified(since) + if config.verbose: + self.log.debug("Try to get updates from: %s Left: %s" % (peer, peers_try)) + + res = None + with gevent.Timeout(20, exception=False): + res = peer.listModified(since) + if not res or "modified_files" not in res: continue # Failed query