Mail Archives: djgpp/1996/04/14/13:49:17
> 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 -