www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1996/11/28/23:48:08

Message-Id: <199611290438.RAA23487@papaioea.manawatu.gen.nz>
Comments: Authenticated sender is <malcolm AT mail DOT manawatu DOT gen DOT nz>
From: "Malcolm Taylor" <malcolm AT manawatu DOT gen DOT nz>
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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019