We have been using python embedded via the C API and have used Twisted for various things.  We have come across some strange behavior and I cannot figure out what is going on.

from twisted.internet import reactor
from twisted.web.client import downloadPage


def fetchRepo():
        global gameType, gameName, setupComplete, cp
        if (setupComplete):
                url = urlbase + "/" + gameType + "/" + gameName + "/repo.ini"
                print "url is : " + url
                d = downloadPage(url, "C:\\svntest\\gamerepo.ini")
                print "urls not setup, throw errors etc."

This is an example of how we have been using downloadPage from twisted.web.client.  I have no problems getting the example to work when I make a simple app or write the code into the intrepeter.  But if I use it inside my app I get the user timeout below.

Unhandled error in Deferred:
Traceback (most recent call last):
Failure: twisted.internet.error.TimeoutError: User timeout caused connection failure.

Am I forgetting something trivial?  The reactor is running as we use PB for database pooling.  Can I not call downloadPage after a reactor is setup and connected?