[Stackless] Blocking Problem with Stackless Python and Twisted
Bob Ippolito
bob at redivi.com
Thu Jun 15 21:34:45 CEST 2006
On Jun 15, 2006, at 11:47 AM, Andrew Francis wrote:
> I wrote a test programme that acts both as a web
> server and a web client. Some tasklets make HTTP
> requests. Other tasklets service incoming HTTP
> requests.
>
> My problem is that is that my code is sensitive to the
> order of processing client and server requests. If a
> tasklet acting as a cgi script (server) is called
> first, everything else will block until I send the
> test programme a HTTP request. Given the way the code
> is written, I was not expecting this.
>
> My sneaking suspicion is that Twisted itself is
> blocked. Off hand I don't know if Requests are
> initiated as deferred objects. I am going through
> Twisted code. Meanwhile, I am hoping someone out there
> has insights. Thanks in advance.
Twisted isn't designed for Stackless integration, and the approach
you're taking simply will not work.
Twisted does block on reactor.run(), and during each runloop
iteration it blocks waiting for a timeout or network activity (via
select or poll usually).
You might want to look at http://twistedmatrix.com/trac/browser/
sandbox/radix/threadless.py - but that kind of integration is very
different from what you've attempted to do.
-bob
_______________________________________________
Stackless mailing list
Stackless at stackless.com
http://www.stackless.com/mailman/listinfo/stackless
More information about the Stackless
mailing list