delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1995/06/06/19:33:25

Xref: news-dnh.mv.net comp.os.msdos.djgpp:178
Newsgroups: comp.os.msdos.djgpp
Path: news-dnh.mv.net!mv!news.sprintlink.net!gatech!psinntp!psinntp!psinntp!psinntp!netrixgw.netrix.com!jasmine!ld
From: ld AT jasmine DOT netrix DOT com (Long Doan)
Subject: Re: [HELP] New int handler messes up fprintf
To: gantose AT lerc DOT nasa DOT gov (Dave Gantose)
Sender: ld AT jasmine (Long Doan)
Organization: Netrix Corporation
References: <gantose DOT 22 DOT 000B7026 AT lerc DOT nasa DOT gov>
Date: Tue, 6 Jun 1995 19:46:14 GMT
Lines: 15
Dj-Gateway: from newsgroup comp.os.msdos.djgpp

> In my program, I install a new interrupt handler for the system timer (int 8) 
> so that I can get 64 ticks per second. After a while, I put the old interrupt 
> handler back. Later in the program, when I try to fprintf some values, the 
> program crashes with "Unsupported INT 0x0d". The traceback indicates that the 
> problem occurred at the fprintf call from my program (_fprintf+103). Is 
> there something I need to reset, or clear, or watch out for after I have set 
> and reset the timer interrupt handler? The FAQ kind of alludes to this, but I 
> didn't understand that part.

  Instead of using _go32_dpmi_set..._vector () to put the old handler back, try
to put back the value of the original entry of the IDT. The code to do that should
be similar to the code Ladybug (ftp://oak.oakland.edu/SimTel/msdos/djgpp/ldbg102.zip)
uses to install/deinstall the timer interrupt.

Long.

- Raw text -


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