<table cellspacing="0" cellpadding="0" border="0" ><tr><td valign="top" style="font: inherit;"><DIV>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.&nbsp;&nbsp; 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):</DIV>
<DIV>&nbsp;</DIV>
<DIV>----</DIV><FONT size=2>
<DIV></FONT><FONT color=#008000 size=2><FONT color=#008000 size=2>/* start the python function as a tasklet */</DIV></FONT></FONT><FONT size=2>
<DIV>func = PyObject_GetAttrString(main, </FONT><FONT color=#a31515 size=2><FONT color=#a31515 size=2>"everySecond"</FONT></FONT><FONT size=2>);</DIV>
<DIV>process = PyTasklet_New(NULL, func);</DIV>
<DIV>Py_DECREF(func);</DIV>
<DIV></FONT><FONT color=#008000 size=2><FONT color=#008000 size=2>/* initialize the tasklet args */</DIV></FONT></FONT><FONT size=2>
<DIV>args = PyTuple_New(0);</DIV>
<DIV>PyTasklet_Setup(process, args, NULL);</DIV>
<DIV>Py_DECREF(args);</DIV>
<DIV>----</DIV>
<DIV>&nbsp;</DIV>
<DIV>This I understand, and it seems to work well:&nbsp; the tasklet is created, it's added to the queue, and it's executed when its turn comes.</DIV>
<DIV>&nbsp;</DIV>
<DIV>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?&nbsp;&nbsp; In other words, imagine that the func above returns a PyObject* value ...how would I retrieve that?</DIV>
<DIV>&nbsp;</DIV>
<DIV>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'.&nbsp; </DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>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.&nbsp; I really would like to understand all of this in C (simply) before using a crutch (ie, boost libs.)</DIV>
<DIV>&nbsp;</DIV>
<DIV>Thanks!</DIV></FONT></td></tr></table><br>