Uri Guttman <[EMAIL PROTECTED]> writes:
>
>but the question remains, what code triggers a signal handler? would you
>put a test in the very tight loop of the the op dispatcher?
Not a test. The C level signal handler just fossicks with the variables
that very tight loop is using.
>
> n> But if "runops" looked like:
>
> n> while (PL_op = PL_next_op)
> n> {
> PL_op-> perform(); # assigns PL_next_op;
> n> }
>
> n> (Which is essentially FORTH-like) then there is little to get in a mess.
> n> The above is simplistic - we need a way to "disable interrupts" too.
>
>and where is the event test call made?
It isn't. PL_next_op is set by C signal handler.
In practice I suspect we need the test :
while (PL_op = (PL_sig_op) ? PL_sig_op : PL_next_op)
{
PL_op->perform;
}
>or somehow the next op delivered
>will be the next baseline op or the dispatch check op. that is basically
>the same as my ideas above, just a different style loop.
What I am trying to get to is adding minimal extra tests to the tight loop.
We probably need at least ONE test in the loop - let us try and make
that usable for all the "abnormal" cases.
>
>uri
--
Nick Ing-Simmons <[EMAIL PROTECTED]>
Via, but not speaking for: Texas Instruments Ltd.