Mail Archives: djgpp/2004/03/22/12:33:57
X-Authentication-Warning: | delorie.com: mail set sender to djgpp-bounces using -f
|
Message-ID: | <0e6401c41033$bf95f970$0600000a@broadpark.no>
|
From: | "Gisle Vanem" <giva AT bgnett DOT no>
|
To: | "djgpp" <djgpp AT delorie DOT com>
|
Subject: | DOS memory allocation
|
Date: | Mon, 22 Mar 2004 18:33:11 +0100
|
MIME-Version: | 1.0
|
X-Priority: | 3
|
X-MSMail-Priority: | Normal
|
X-Mailer: | Microsoft Outlook Express 6.00.2800.1158
|
X-MimeOLE: | Produced By Microsoft MimeOLE V6.00.2800.1165
|
Reply-To: | djgpp AT delorie DOT com
|
Does DOS function 58h have any effect on DPMI function 100h
on how it allocates memory? AFAICS it always does low-memory
with first fit.
When shelling out of a djgpp program that allocates DOS-mem, I
sometime see that there is a big hole where the block was freed.
From mapmem under Windows-XP:
0741 5 24,624 4DOS -wdebug D9 DA E4
0752 1 34,720 DOSX 1B D9 DA E4 FE
28A7 2 20,288 LYNX -wdebug
1 57,600 --free-- << block that was freed in Lynx
2DB9 2 4,352 4dos << resident portion of 4DOS
But mostly there's no hole in the memory range.
Lynx calls _go32_dpmi_allocate_dos_memory with the same size
every time and _go32_dpmi_free_dos_memory before shelling out
with system().
Anybody know why NTVDM does this? And if DOS fn 58h can fix this?
--gv
- Raw text -