[Stackless] tasklets on threads
Kristján Valur Jónsson
kristjan at ccpgames.com
Thu Sep 8 00:19:29 CEST 2011
I just realized that there are various interesting ways to crash stackless with threads.
This one is simple
Import treading, stackless
Task = stackless.getcurrent()
This will crash because the other thread's task->cstate is NULL.
This is fixable. But what about other cases? Tasklets that are blocked (or removed) when their thread exits?
Their task->cstate->tstate will be invalid. And so, there are a number of things that can be done to crash them, like task.insert(), I imagine.
Should we worry about this? Or should we simply require of the programmer that for safe operation, a thread should exist at least as long as all tasklets created on it, and leave it to the programmer to ensure?
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Stackless