[Stackless] Using PyChannel_Receive_nr to avoid non-trivial stack

Juho Mäkinen juho.makinen at gmail.com
Wed Jun 28 12:22:04 CEST 2006

I've understood that using PyChannel_Receive_nr would allowe to
avoid non-trivial stack so that I could still pickle and unpickle tasklets.

I'm using a C++ made beNice and sleep -methods, which follow the
design of EVE Online. They work nicelly, but they do a hard stack
switch, resulting untrivial stack and that I cannot unpickle the tasklet.

I found a few references from Richard, for example this:
which talks about using PyStackless_Schedule_nr to avoid hard switch,
but nothing really usefull to work with :(

I know that I can rewrite my beNice and sleep methods in python,
but my tests shows that it's a bit slower, so I'd prefer the current c++

Any examples howto use PyChannel_receive_nr,
help or just telling "it wont work" would be very helpfull :)

Also, are there any special requirements of pickling tasklets which
use variables which are exported from C++ using boost.python?

 - Juho Mäkinen

Stackless mailing list
Stackless at stackless.com

More information about the Stackless mailing list