delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2019/08/18/09:59:02

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>
<qjb14m$1kqj$1 AT gioia DOT aioe DOT org>
From: "stsp (stsp2 AT yandex DOT ru) [via djgpp AT delorie DOT com]" <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: <qjb14m$1kqj$1@gioia.aioe.org>
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

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]"
> <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. :)

- Raw text -


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