[Stackless] Tasklet State RE: (no subject)
Kristján Valur Jónsson
kristjan at ccpgames.com
Sun Oct 11 14:03:39 CEST 2009
> -----Original Message-----
> From: Andrew Francis [mailto:andrewfr_ice at yahoo.com]
> However Kristján I don't see that code fragment in the 2.6.2 source
> code base. Nevertheless, thank you for the answer
Sorry, it is from the EVE code :)
> > the documentation for the four attributes is in the
> > source. blocked paused and scheduled are not independent.
> > a tasklet can be either blocked or paused, not both.
> > and if it is, it is not scheduled.
> From my knowledge of the scheduling algorithm, I thought the states
> were simpler - runnable (tasklet is on the runnable list), blocked,
> currently running, and implicitly just starting and dead/finished.
"scheduled" = runnable.
"blocked" = waiting on a channel.
"paused" = someone took it out of the schedule queue, e.g. by a tasklet.schedule_remove()
add to this the "currently running" state.
In addition, you could consider a new tasklet and a finished tasklet to be separate states too.
More information about the Stackless