X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f Message-ID: <0e6401c41033$bf95f970$0600000a@broadpark.no> From: "Gisle Vanem" To: "djgpp" Subject: DOS memory allocation Date: Mon, 22 Mar 2004 18:33:11 +0100 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit 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