Good afternoon! I notice an oddity with zero-length DeferredLists. The example script (http://dpaste.com/49099/) should just return the contents of a bunch of URLs given at the command line, or some errors like so: $ python test.py a b c [(False, <twisted.python.failure.Failure twisted.web.error.Error>), (False, <twisted.python.failure.Failure twisted.web.error.Error>), (False, <twisted.python.failure.Failure twisted.web.error.Error>)] *but* $ python test.py # no arguments [] # then hangs, never reaching "quit" Is this odd behaviour? In defer.py 's DeferredList.__init__ there is: self.resultList = [None] * len(deferredList) Deferred.__init__(self) if len(deferredList) == 0 and not fireOnOneCallback: self.callback(self.resultList) Thanks in advance! Gregg ------------------------ #!/usr/bin/env python ## example script1 from twisted.web.client import getPage from twisted.internet import reactor, defer def getUrls(L): dL = defer.DeferredList( [getPage(x) for x in L] , consumeErrors=True) return dL def results(data): print data return def quit(data): reactor.stop() return if __name__ == "__main__": import sys L = sys.argv[1:] d = getUrls(L) d.addCallback(results) d.addCallback(quit ) reactor.run()