[Stackless] Problems with removing tasklet.

Christian Tismer tismer at tismer.com
Wed Oct 9 22:10:22 CEST 2002


Gustavo Niemeyer wrote:
> Hi Jeff!
> 
> [...]
> 
>>Basically create another tasklet to remove the current one -- the
>>atomic stuff just makes sure that the yield is direct (i.e. nothing
>>else can intervene).  This is necessary since I am pre-emptively
>>scheduling -- it is simpler in the case of voluntary scheduling:
> 
> [...]
> 
> How are you doing preemptive scheduling? I thought this was a
> to-be-implemented feature.

(Sorry to dig in)
He uses the run_watchdog thing with a very small timeout,
with turns the watchdog into something that interrupts
the current tasklet very frequently.
You then just insert() the tasklet which puts it at the
end of the chain again, and then run_watchdog(small number)
again to schedule the next one.

I will provide something different when it is time to do
so. At the moment, this is too early and dangerous (and
the watchdog thing is dangerous, too, already), since
there is no mechanism yet which prevents the system
from switching inside a context that cannot stand switching.

ciao - chris

-- 
Christian Tismer             :^)   <mailto:tismer at tismer.com>
Mission Impossible 5oftware  :     Have a break! Take a ride on Python's
Johannes-Niemeyer-Weg 9a     :    *Starship* http://starship.python.net/
14109 Berlin                 :     PGP key -> http://wwwkeys.pgp.net/
work +49 30 89 09 53 34  home +49 30 802 86 56  pager +49 173 24 18 776
PGP 0x57F3BF04       9064 F4E1 D754 C2FF 1619  305B C09C 5A3B 57F3 BF04
      whom do you want to sponsor today?   http://www.stackless.com/


_______________________________________________
Stackless mailing list
Stackless at www.tismer.com
http://www.tismer.com/mailman/listinfo/stackless



More information about the Stackless mailing list