2009/8/14 Kristján Valur Jónsson <[email protected]>:
> I've more or less given up on this.
> The problem  The problem is that the engine is in a fragile state until a 
> soft-switch has completed.  This is especially true for a hard-switch wrapped 
> in a soft switch, i.e. one where a "jump_soft_to_hard has been put on the 
> frame.  Until that jump is actually performed, one cannot switch away from 
> that tasklet.
>
> In effect it means that if a stackless (or semi stackless with 
> jump_soft_to_hard) jump has been set up but not done, we cannot call switch 
> tasks.  And task switching occurs if a reference goes away, which is possible 
> through multiple means in the meantime.
>
> Maybe the best way is to put channels, wich are in such a state as to require 
> waking up a tasklet to die, in a special garbage bin, that is emptied in a 
> safe place on a regular basis.  I'll try that next.

My worry about the potential fixes you have described for this bug,
are that they are top heavy for what they are addressing.  Let's be
honest here, what we have is a case that crashes that no-one would
ever do in production.  Making larger fixes than the problem itself,
well, I wonder if we are incurring additional codebase complexity for
little benefit.

I say let this one sit.

Cheers,
Richard.

_______________________________________________
Stackless mailing list
[email protected]
http://www.stackless.com/mailman/listinfo/stackless

Reply via email to