[Stackless] "prev" in schedule_callback is never 'alive'?

Andrew Dalke dalke at dalkescientific.com
Tue Dec 18 00:52:52 CET 2007


I've been experimenting with set_schedule_callback.  The callback  
function get

     set_schedule_callback(...)
         set_schedule_callback(callable) -- install a callback for  
scheduling.
         Every explicit or implicit schedule will call the callback  
function.
         Example:
           def schedule_cb(prev, next):
               ...
         When a tasklet is dying, next is None.
         When main starts up or after death, prev is None.
         Pass None to switch monitoring off again.

If I look at the "prev" object, it is always dead, and I don't see a  
frame.  Why is that?

The relevant code is in module/scheduling.c lines 812 and onward


         NOTIFY_SCHEDULE(prev, next, NULL);

         ts->st.ticker = ts->st.interval;
         prev->recursion_depth = ts->recursion_depth;
         prev->f.frame = ts->frame;

I don't know the consequences of moving that frame assignment to  
before the NOTIFY_SCHEDULE.


I would like to know the frame so I can report stack information as  
part of my trace.  As a simple example, to report the file/line number.



				Andrew
				dalke at dalkescientific.com






More information about the Stackless mailing list