Xref: news2.mv.net comp.os.msdos.djgpp:2692 From: Charles Sandmann Newsgroups: comp.os.msdos.djgpp Subject: Re: DPMI hosts Date: Sat, 13 Apr 1996 10:45:56 CDT Organization: Rice University, Houston, Texas Lines: 15 Message-ID: <316fcc34.sandmann@clio.rice.edu> References: <199604110737 DOT DAA17346 AT delorie DOT com> 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 was told that few of DPMI hosts free up memory blocks and selectors > allocated by their client when the latter exits through int 21h/ah=4Ch. > Now, I am writing a standalone DPMI program in asm, and my question is: > do I have to free all selectors and memory zones on exit, or should I > consider this as DPMI host's problem. BTW, which DPMIs act the wrong way? If you just run a single program - and don't nest other DPMI images under the first, any of the available DPMIs acts OK. The problems happen when a program like GCC spawns other nested programs like CPP/CC1/AS/LD - most DPMI providers don't free the selectors for the nested programs - and some (like QDPMI) don't free the memory zones either. > And does DJGPP frees all memory zones obtained by sbrk() on exit? Yes, it does. If not, you wouldn't be able to use QDPMI ...