[Stackless] Question about Channel Queue attribute

Andrew Francis andrewfr_ice at yahoo.com
Mon Dec 7 05:51:45 CET 2009


Hi Kristjan:

--- On Sun, 12/6/09, Kristján Valur Jónsson <kristjan at ccpgames.com> wrote:

> From: Kristján Valur Jónsson <kristjan at ccpgames.com>
> Subject: RE: [Stackless] Question about Channel Queue attribute
> To: "Andrew Francis" <andrewfr_ice at yahoo.com>, "stackless at stackless.com" <stackless at stackless.com>
> Date: Sunday, December 6, 2009, 1:20 PM

> There is no "correct" behaviour,
> since this isn't defined by some specification somewhere.

Okay. I guess I should assume that what is written in the Wiki,
followed by C Stackless are the closest to a definitive source? 

> In C stackless, tasklets are linked together using their
> "next" attribute.  This is used to implement the
> runnable queue and also the queue for the tasklets. 
> The channel's "queue" slot simply holds a reference to the
> first tasklet in the queue.

Yes.

> I expect that the channels are differently implemented in
> PyPy, perhaps using a Deque, so that is what queue returns
> for that implementation.

Well Kristjan, in implementing select, I am running across differences
between Stackless.py and C Stackless. For instance, _channel is not
implemented in Stackless.py. So far from what I have seen, much of Stackless.py's structure mirrors what in the C Stackless code (i.e., channel action). Again, I don't know what the feeling of the group are
towards making sure that Stackless.py mirrors C Stackless as closely as
they can, given they are written in different languages.

Cheers,
Andrew 







      




More information about the Stackless mailing list