I have added some new information to this problem. I have marked the new sections with *** My application uses the HotSync Signal to initiate a read from an external device. This works fine in most cases, but one particular device sends a second HotSync signal after the read has begun. This has two unfortunate side effects. 1) The program attempts to read a second value from the external device after it has completed the first read (This is solvable with a UI switch, although I would prefer to keep it hidden from the user). 2) When the HotSync signal is triggered, the Palm OS kernel spends so much time processing the signal, I miss a large chunk of the data coming in. These problems all go away by turning off interrupts, but "everyone" says don't turn off interrupts otherwise your cat will go blind, etc. So does anyone have a suggestion on how to prevent the aforementioned problems. *** It turns out I do not need to turn off all interrupts. Turning off level 1 (lowest) interrupts is sufficient on DragonBalls (I have not tested the EZ). I have tried intercepting the sysTrapHwrIRQ1Handler, but the Palm is not very enthusiastic about that. I might be doing this wrong, I have not played around with it much. *** Will turning off the level 1 interrupts for 1/10 of second cause major problems? Has anyone overwritten the sysTrapHwrIRQ1Handler successfully? Is it preferable to temporarily replace the IRQ handler vs turning of the interrupt? Is it better just to turn off level 1 interrupts rather than all the interrupts? Other relevant facts to consider when proposing solutions a) The external hardware is designed by other companies, so redesigning it is not an option. b) I can not use the UART, since the data is not RS232 compatible (i.e. no start or stop bits, and no frame information). Thanks in advance Oliver King-Smith
