www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1996/04/14/13:49:17

Xref: news2.mv.net comp.os.msdos.djgpp:2692
From: Charles Sandmann <sandmann AT clio DOT rice DOT edu>
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 ...

- Raw text -


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