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