From: Charles Sandmann Subject: Re: Interrupts and GO32.EXE To: bardiria AT isis DOT curtin DOT edu DOT au (Aaron Ardiri) Date: Tue, 20 Dec 1994 07:54:53 -0600 (CST) Cc: djgpp AT sun DOT soe DOT clarkson DOT edu > the old version used the _go32_dpmi_set_protected_mode_vecter, ... routines > to install the keyboard handler - but when i issued a [CRTL]+[C] or a > [CRTL]+[BRK], i got the usual termination that go32.exe gives you : > > earlier today i edited the routines a bit - optimized them further and used > the _go32_dpmi_set_real_mode_interrupt_vector(),... etc. routines. > now the blasted things works ? how is that so ? does anyone have any idea Under GO32, hooking protected mode interrupts will only call your routine if the interrupt occured in protected mode. If the interrupt occurs in real mode (during any call to DOS, for example) it would not be seen. Under real DPMI, all HW interrupts are reflected back to you in protected mode, even if they occured in real mode. Since PM interrupt are reflected to RM if not handled there, setting the real mode interrupt vector would always catch them all.