Date: Thu, 28 Nov 1996 17:01:27 +0200 (IST) From: Eli Zaretskii To: Cesar Scarpini Rabak Cc: Robert DOT Hoehne AT Mathematik DOT tu-chemnitz DOT de, BRA DOT EDBKMN AT memo DOT ericsson DOT se, djgpp AT delorie DOT com Subject: Re: Progs using abort() in a RHIDE DOS shell under Win95 cause fault/violation In-Reply-To: <1.5.4.16.19961128102735.29bf1a1e@dmeasc.rc.ipt.br> Message-Id: Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII On Thu, 28 Nov 1996, Cesar Scarpini Rabak wrote: > 3) When one shells to DOS in RHIDE and attempts to run the program, > the program causes an abrupt termination of RHIDE, and Win95 complains "the > application has caused a violation...". Are you using DJGPP v2.0 or v2.01? This was a known bug in v2.0: `abort' called `_exit' which didn't care to restore hardware interrupts to their previous state (it is even documented in the libc on-line reference for `_exit'). Therefore, when your program calls `abort', the hardware interrupts are left pointing into the blue, which will promptly crash your system (or DOS box on Windows). Since the DPMI host cleans up this mess when the last client exits, you almost never see this except in a nested DJGPP program. The v2.01 version of `_exit' corrects that bug.