[Stackless] profile error, again
Kristján Valur Jónsson
kristjan at ccpgames.com
Mon Jan 28 11:27:04 CET 2008
Okay, I've managed to simplify this a bit.
Run the attached program and watch stackless get confused.
The point is that I am fiddling with sys.setprofile() in the context switch callback.
I do this for a reason: I assume that this is a global state, and I want to temporarily turn off profiling in this function because I am doing task switch bookkeeping for the profiler.
Let me repeat the issues that need solving:
1) stackless shouldn't freak out at this. Some frames are obviously being rescheduled or something.
2) I need to be able to turn on profiling for all tasklets, as a global state, to snapshot a running program.
3) the sys.setprofile() and stackless. set_schedule_callback do not return the previous value so it is impossible to temporarily set/unset them and then restore them.
For 2), I am thinking about adding a flag to stackless, stackless.tracing or something, to enable the old (thread) global behaviour.
For 3) I think the change should be straightforward. I don't understand why sys.setprofile() isnt't this way already.
K
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.stackless.com/pipermail/stackless/attachments/20080128/83afdbf1/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: profcrash.py
Type: application/octet-stream
Size: 321 bytes
Desc: profcrash.py
URL: <http://www.stackless.com/pipermail/stackless/attachments/20080128/83afdbf1/attachment.obj>
More information about the Stackless
mailing list