Ok -- I've been trying to wrap my brain around stackless and the use of 
tasklets over the past few days, so please excuse me if this is a stupid 
question.   Basically, I now understand how to create a start a tasklet using 
the C API based upon what I saw in the examples here on your site (dice1.cpp):
 
----
/* start the python function as a tasklet */
func = PyObject_GetAttrString(main, "everySecond");
process = PyTasklet_New(NULL, func);
Py_DECREF(func);
/* initialize the tasklet args */
args = PyTuple_New(0);
PyTasklet_Setup(process, args, NULL);
Py_DECREF(args);
----
 
This I understand, and it seems to work well:  the tasklet is created, it's 
added to the queue, and it's executed when its turn comes.
 
However, my question was whether or not you can have a tasklet actually return 
a value, and how you would go about doing that with the C API?   In other 
words, imagine that the func above returns a PyObject* value ...how would I 
retrieve that?
 
Again, I'm sorry if this is a stupid question and/or inappropriate; however, 
I've searched all over the internet for examples of just about every function 
in the stackless C API file ...and, just about the only things available are 
what is here in your 'examples'.  
 
 
Also -- if anyone knows of a good, simple example of a C Application that 
utilizes stackless (similar to dice1.cpp) ...but, involves a main tasklet loop 
AND creates additional tasklets with channels and so forth...that would be 
great.  I really would like to understand all of this in C (simply) before 
using a crutch (ie, boost libs.)
 
Thanks!


      
_______________________________________________
Stackless mailing list
[email protected]
http://www.stackless.com/mailman/listinfo/stackless

Reply via email to