tags 397469 patch
thanks

I think I found out what this bug is about. If I'm wrong, I hope the 
original submitter or someone else can provide more info. 

I'm testing with the latest versions of straw and python-adns, just as the 
submitter. In my tests, refreshing and subscribing work, but they take 
intolerably long (at least ten minutes). For me, this has been the case 
with the versions in Sarge too.

The following change makes refreshing and subscribing work quickly for me:
--- LookupManager.py.orig       2006-02-18 18:22:44.000000000 +0200
+++ LookupManager.py    2006-11-13 17:04:24.000000000 +0200
@@ -161,7 +161,7 @@
             cbwrapper.cb(ip)

         def poll(self, timeout=0.1):
-            self.queryengine.run(timeout)
+            self.queryengine.run(0)

 # Blocking version: use normal lookups, no threads
 class BlockingLookupManager:

The problem is that without the change this function will use up all of 
the given time and leave no time for other network IO as seen in 
URLFetch.py lines 165-170:
        # keep the network running
        now = time.time()
        lookup_manager.poll(timeout)
        timeout -= (time.time() - now)
        if timeout > 0.0:
            asyncore.poll(timeout)

The change is also in line with how the ThreadLookupManager is 
implemented: if there are no results pending, poll doesn't take time at 
all.


Hope this helps,
Tuukka

-- 
-- Trying to catch me? Just follow up my Electric Fingerprints
-- To help you: [EMAIL PROTECTED]
                http://www.iki.fi/Tuukka.Hastrup/


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to