Xref: news2.mv.net comp.os.msdos.djgpp:5135 From: Charles Sandmann Newsgroups: comp.os.msdos.djgpp Subject: Re: Structured index of the FAQs? Date: Tue, 18 Jun 1996 08:26:42 CDT Organization: Rice University, Houston, Texas Lines: 23 Message-ID: <31c6ae92.sandmann@clio.rice.edu> References: <1996061811044787877 AT alpnet79 DOT alpes-net DOT fr> Reply-To: sandmann AT clio DOT rice DOT edu NNTP-Posting-Host: clio.rice.edu To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp > I got the message: << program received signal SIGFPE, > arithmetic exception 0x3c33e in _strhold() >> We would need to know more about your environment. The exact error message which came out needs to shown. If the above message is what is displayed then some local signal handler is catching it, and it needs to be modified to provide more information or removed so that the default handler can tell what you need to know. SIGFPE can be from comprocessor errors, division by zero, or integer overflow. > problem #2: one of my interruption handler has to handle IT from six > separate sources, and needs reentrance capabilities. (most of the > handler code is under_enable() ). > It seems that, using go32_dpmi_set_protected_mode_interrupt_vector, > reetrance is not allowed... Is there a solution? Yes, re-write the interrupt wrapper code, or don't use it. You could write your interrupt routines in assembler and stay on the locked 4K stack, or you need to write code to handle multiple interrupt stacks. Non-trivial in either case. Certainly not a two minute sort of question. You might be able to use the fact that if you swap stacks in an interrupt handler the new stack is the locked stack and not swap away from it if SS = DS_alias.