I'm glad to hear it's working for you, but that's still not quite the way
I'd like to see it.  (The only errors I see are in the conservative
direction, i.e. it works fine, it just blocks interrupts more of the time
than it needs to.)  Again, thanks a lot for hacking on this and being so
receptive to feedback about your code.

Firstly, you don't need to call osenv_softintr_disable in softclock_oskit.
That's why you're running at splsoftslock; i.e., it will always be a no-op.

In osenv_softintr_disable, you should compare against SPL1 (which is
splsoftclock) instead of SPLIO.

softint_handler should not call osenv_intr_* at all.
There is no reason for it.  Software interrupts are not hardware interrupts.

Personally, I'd use ffs rather than iterating from 0 to check the mask (ffs
is optimized to a single x86 instruction).


_______________________________________________
Bug-hurd mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-hurd

Reply via email to