fixed concurrency bug with tracker.think and desired
authorForrest Voight <forrest@forre.st>
Sat, 30 Jul 2011 22:10:27 +0000 (18:10 -0400)
committerForrest Voight <forrest@forre.st>
Sat, 30 Jul 2011 22:10:27 +0000 (18:10 -0400)
p2pool/main.py

index 6546c4b..b1ae80a 100644 (file)
@@ -124,6 +124,8 @@ def main(args):
             current_work.set(t)
             
             for peer2, share_hash in desired:
+                if share_hash not in tracker.tails: # was received in the time tracker.think was running
+                    continue
                 last_request_time, count = requested.get(share_hash, (None, 0))
                 if last_request_time is not None and last_request_time - 5 < time.time() < last_request_time + 10 * 1.5**count:
                     continue