Message-Id: <199611290438.RAA23487@papaioea.manawatu.gen.nz> Comments: Authenticated sender is From: "Malcolm Taylor" Organization: Grafik Software To: snarfy AT goodnet DOT com, djgpp AT delorie DOT com Date: Fri, 29 Nov 1996 17:41:45 +1200 Subject: Re: Problem raising exceptions in tight loops Reply-to: malcolm AT manawatu DOT gen DOT nz > I looked at the assembly output and it turns into: > > L2: jmp L4 > L4: jmp L2 > > The interrupts are getting serviced ok, because the numlock light on my > keyboard still turns on and off when I push it. It's just that the > SIGINT exception that should get raised isn't getting raised. > Are there any known problems with the DJGPP exception mechanism? I'm > using the exception mechanism extensively in the LWP package and in > some cases it fails (tight while(1) loops). The explanation is that HW ints cause the limit of ds to be lowered, thereby causing a page fault the next time the ds is accessed. This page fault is what causes the exception to be handled. In your tight loops you are not accessing the ds, hence no exception. Malcolm ---------------------------------------------------------------------- Take a look at some of my releases: RKIVE - a high perfomance archiver * ftp://ftp.simtel.net/pub/msdos/arcers/rkive14.zip TWS - a windowing class library for DJGPP * ftp://ftp.simtel.net/pub/gnu/djgpp/v2tk/mttws121.zip