Hi Arnar, I was being really brain-dead, of course, when I started going on about interrupt coding. You don't have to do any. C select does all that for you, just as shown in your own code snippet for time.sleep...
On 10/3/08, Arnar Birgisson <[EMAIL PROTECTED]> wrote: > > Hey Larry, > > On Fri, Oct 3, 2008 at 20:56, Larry Dickson <[EMAIL PROTECTED]> wrote: > > Am I right, that your answer to (1) is that Tasklet L is the one with > > "event.loop(TRUE)" and that that is the call that continually checks > > readiness for other tasklets? > > Yes, that is correct. > > > The "elaborate handler when select comes out of the block" is really > pretty > > trivial, and was done decades ago by Inmos - who recorded a bit-by-bit > > description of their absolutely robust implementation. They actually > solved > > a tougher problem, which was to let you code a multi-way branch in a > single > > process (not just select the winning process with one stimulus to each, > as > > we have been discussing), and included timers too. > > > > Your implementation of time.sleep looks like it's interrupt-based, so I > > guess you have a fast clock on your motherboard, unless C select is coded > > pretty weirdly. > > Just to be clear, it is not *mine*, it is from the CPython source. Ah, the ambiguity of English "you" - I meant "the implementation of you Stackless coders" - then confused it by adding "thou hast a fast clock on thy motherboard" ;-) > This particular kind of interrupts and locking code is not as hard as you > > think, because it only has to serialize the queue manipulation for > something > > you completely control - the Stackless virtual machine. I did it in DOS > ages > > ago, and the Inmos documentation exhaustively lists what is needed, which > > isn't much (currently the "Transterpreter" project works off that). It's > > your call, of course, but I think readiness queueing is much cleaner > without > > requiring a timer poll loop. > > I'd be interested to see an implementation :) I'll put some notes together over the weekend and send them along - I have to pull it out of non-digital 1988 references. Larry cheers, > Arnar >
_______________________________________________ Stackless mailing list [email protected] http://www.stackless.com/mailman/listinfo/stackless
