X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f X-Recipient: djgpp AT delorie DOT com X-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1566136479; bh=yUa/zvUFIld2q61nsHj8svsPDKoYwu0aV+bEB/LGVZY=; h=In-Reply-To:From:Date:References:To:Subject:Message-ID; b=CeYsMo1cHDDVtxT5VyNViTCbJpc7b6+EuOYaBt2q/I/na6nNtbFCuZg0ee43m/n3p tlqkDckzqV0kSK7gAennagdPj9W/hKuyo2xAtZ+s+WbGZjS6Pbo8AQ5Zr0dh/09fY5 iMq8dpDDv7YW90JzJQ30y919OwVeMNYkAf3R3kdg= Authentication-Results: mxback5g.mail.yandex.net; dkim=pass header.i=@yandex.ru Subject: Re: [PATCH] exec: fix inversions in leak detection logic To: djgpp AT delorie DOT com References: <964e3268-2f75-ee73-ab5a-b01bf1aadb98 AT yandex DOT ru> From: "stsp (stsp2 AT yandex DOT ru) [via djgpp AT delorie DOT com]" Message-ID: <7209026e-1f1b-e590-00a3-4ed1a424cc0d@yandex.ru> Date: Sun, 18 Aug 2019 16:54:39 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-MW Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id x7IDtI5Q002598 Reply-To: djgpp AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk 18.08.2019 11:12, Rod Pemberton пишет: > On Sat, 17 Aug 2019 19:18:10 +0300 > "Stas Sergeev (stsp2 AT yandex DOT ru) [via djgpp AT delorie DOT com]" > wrote: > >> Without this patch it is not possible to spawn a prot-mode TSR >> program like 32rtm. > You do understand that Borland's 32RTM is a DPMI host, yes? Yes and no, its a DOS extender, and DPMI host is just one of its optional components. It can provide its services also on top of an existing DPMI server, in which case its just a DPMI client. > I.e., it's not _just_ an example of a "prot-mode TSR program". In presence of another DPMI server - it is. > So, why do you expect 32RTM to execute properly when spawned? Because I have it that way already. Yes, it required 2 nights of coding/debugging, but it works, so I expect it to keep it that way. There are still some pathological cases, for example if the DPMI prog that spawned 32rtm then exits, but I got to work even that (modulo some mem leaks). > I.e., another DPMI host is already loaded prior to performing the > spawn, e.g., CWSDPMI or Windows DPMI. > > You can test this like so for DOS: > > CWSDPMI -P > 32RTM -X > > Why do you need to use 32RTM with DJGPP code? I don't. But there are many djgpp-buildable shells (either bash ports or command.com clones) that I'd like to be able to run anything the real-mode shell can run. Its a difficult work, but I can already run windows-3.1, and now also 32rtm. > Why do you need to use 32RTM anyway? I don't, but the "bc.bat" file from borland toolset looks like this: --- @echo off if -%OS%==-Windows_NT goto WIN set DPMIMEM=MAXMEM 4096 32rtm.exe bc.exe %1 %2 %3 32rtm.exe /u exit :WIN bc.exe %1 %2 %3 --- Btw, the fact that it unloads 32rtm is a big relief. Otherwise the parent shell would terminate before 32rtm terminated, which is a difficult situation to handle properly. > It seems that 32RTM is bug riddled: > > https://sourceforge.net/p/freedos/mailman/message/8956650/ > https://sourceforge.net/p/dosemu/feature-requests/17/?page=1 > ftp://retronn.de/dos/extender/hx/DOC/HDPMI.TXT > https://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/dos/kernel/history.txt > https://vetusware.com/download/PowerPack%201.0a/?id=3726 Indeed, as most of the DOS software. :)