Hi all, I have a problem when it comes to handling interrupts in RTL 3.1... I have created a small program that takes a PPS (Pulse Per Second) signal from a GPS connected to the CTS pin on a serial port, and uses this pulse to synchronize the PC clock to the GPS clock. (The routine is interrupt driven.) This way I can get a precision of about 3-4 microseconds :-) The reason I need this, is that I need fairly precise timestamping of some events. The program gets notified of the events through the ACK pin on the parallel port. When a event happens, the ACK pin is pulsed, which generates an interrupt that my program handles. All it does is to get the time when the event happened, and write this time to a fifo which is read by a userspace program. Now, all of this works, but not for long... the computer hangs after a random time.. it can work for half a minute, or it can work for hours... suddenly it hangs. For my testing, I use the same pulse both for syncronizing and for events, that is, the same pulse generates two interrupts. How does RTL handle things if one interrupt is issued while another one is being handled? Is it just queued and handled later? Or is it discarded? Or will the first interrupt be interrupted, so that it never gets to end properly? In both the interrupt routines, I use rtl_stop_interrupts() when the routine is entered, and rtl_allow_interrupts() before it's done. I tried using _no_ and _restore_ instead, but that didn't help....
anybody got an idea? Thank you very much regards, Trond -- [rtl] --- To unsubscribe: echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED] -- For more information on Real-Time Linux see: http://www.rtlinux.org/