dillon@CORY.BERKELEY.EDU (Matt Dillon) (01/28/88)
>Last week, I posted a piece of code dealing >with software interrupts and messages. Since >using the -v and -y options. The program prints >eriods every second until I stop it with a >ontrol-C. ... > interrupt.is_Node.ln_Type = NT_SOFTINT; ... > Cause(&interrupt); Try setting the interrupt.is_Node.ln_Type to something other than NT_SOFTINT. (I haven't tried this myself, but the ROM code for Cause() seems to ignore interrupt nodes set to NT_SOFTINT. -Matt
andy@cbmvax.UUCP (Andy Finkel) (01/28/88)
In article <694@trwspf.TRW.COM> knurlin@trwspf.UUCP (Scott Karlin) writes: >Last week, I posted a piece of code dealing >with software interrupts and messages. Since Try making your node type NT_INTERRUPT, rather than softint. softint is really an internal flag. andy -- andy finkel {ihnp4|seismo|allegra}!cbmvax!andy Commodore-Amiga, Inc. "Never test for an error condition you don't know how to handle." Any expressed opinions are mine; but feel free to share. I disclaim all responsibilities, all shapes, all sizes, all colors.
kkaempf@rmi.UUCP (Klaus Kaempf) (02/13/88)
In article <8801271950.AA24675@cory.Berkeley.EDU> dillon@CORY.BERKELEY.EDU (Matt Dillon) writes: > Try setting the interrupt.is_Node.ln_Type to something > other than NT_SOFTINT. (I haven't tried this myself, but > the ROM code for Cause() seems to ignore interrupt nodes > set to NT_SOFTINT. It's not really ignored. "Cause()" does the following: 1. Change node type from NT_INTERRUPT to NT_SOFTINT. 2. Link the interrupt structure according to priority into the appropriate exec-softint-list. 3. Request a software interrupt. The software interrupt handler then processes all the five softint lists and restores the node type to NT_INTERRUPT after removing the node from the list. So this node type is used to avoid double queueing of a single software interrupt structure. !ralph Ralph Babel, Falkenweg 3, D-6204 Taunusstein, FRGermany