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.

Reply via email to