Mail Archives: djgpp-workers/1997/09/09/17:15:58
On 9 Sep 97 at 16:58, Eli Zaretskii wrote:
>
> On Tue, 9 Sep 1997, Diego Zuccato wrote:
>
> > Well, couldn't we have a 'locked' memory out the first MB and use it for
> > all DJGPP programs that need a lot of arguments ?
>
> AFAIK, no, you can't, because this will break with DPMI 1.0 servers
> (currently, there is only 386Max that supports 1.0). In DPMI 1.0,
> the descriptors aren't global, they are local to the process. So
> you have no means of passing the address of the block where long
> command line is stored to the child program. Conventional memory
> addresses are always global, so passing the seg:off address of a
> conventional memory block works in both DPMI 0.9 and 1.0.
DMPI 1.0 has shared memory. It shouldn't be that difficult to detect
1.0 and do the appropriate thing. It also shouldn't cause too much
bloat.
> A single tb is not good enough, even if there's no multitasking,
> because the child program would overwrite the contents of the
> buffer, and when controls gets back to the parent, it will see in
> the tb something different from what it put there before spawning
> the child. This might lead to very subtle bugs.
I would have to agree with this, I think. I can't think off hand what
sort of programs would have this problem, but I can imagine the
possible situations.
Bill
--
Leave others their otherness.
- Raw text -