Message208956
There is a subtlety in the as_completed() code which explains a lot - note that "finished" starts off as a set in the _AcquireFutures block. So if a Future f has already completed,
as_completed( [f,f] )
will only yield f once, because f appears once in the finished set.
Later on when waiter events are processed, "finished" turns into a list because of the line:
finished = waiter.finished_futures
So any duplicates in that list will cause problems in pending.remove(Future). |
|
Date |
User |
Action |
Args |
2014-01-23 15:15:43 | glangford | set | recipients:
+ glangford, tim.peters, mark.dickinson, vstinner |
2014-01-23 15:15:43 | glangford | set | messageid: <1390490143.8.0.306027327566.issue20367@psf.upfronthosting.co.za> |
2014-01-23 15:15:43 | glangford | link | issue20367 messages |
2014-01-23 15:15:43 | glangford | create | |
|