http://qs321.pair.com?node_id=739127


in reply to Re^2: How to wait for events, and not lose any, while processing them ?
in thread How to wait for events, and not lose any, while processing them ?

That is not exactly the problem here, imagine if you will, that your interrupt-handling routine calls interrupts herself.

Now you have the same problem as I have - the 'disable interrupts' portion is similiar to the first version of the code - I stop listening for 'interrupts' while processing. The problem is that in this case, if interrupts come, then I ignore them.

  • Comment on Re^3: How to wait for events, and not lose any, while processing them ?

Replies are listed 'Best First'.
Re^4: How to wait for events, and not lose any, while processing them ?
by talexb (Canon) on Jan 27, 2009 at 14:51 UTC

    OK -- so your first approach is to make the interrupt service routine as lightweight as possible. If that means you're still dropping interrupts, you need to move to C or assembler to get a lighter weight ISR.

    If that still isn't working, you'll need to move more of your application away from Perl and down to C or assembler until the desired performance is realized.

    Alex / talexb / Toronto

    "Groklaw is the open-source mentality applied to legal research" ~ Linus Torvalds