26-=E9=C0=CE-2004 20:35 _freecom@... (FreeCOM) wrote to
>> Ie. applications always get reduced (to size of contents) envrion=
>> memory block (notwithstanding /E, which affect only command.com' memor=
F> Hmm, Arkady, you fixed yourself a bug (or at least complained about a
F> bug) in the kernel's environment handling when invoking a child, hence=
Yes, task.c:ChidlEnv() contains bug when handling empty environment.
F> you know very well that the kernel creates the environment passed to a
F> child, not FreeCOM.
F> This is also the behaviour of MS COMMAND/MS Kernel as far as I know.
Yes, but who know, may be command.com not starts, but loads executab=
corrects its environment, then starts it. So, I ask to be sure, because
earlier was never think about this.
>> Of course, but, for example, NDOS does itself permanent even with=
>> /p. BTW, I see no ways to differ INSTALL=3D and SHELL=3D.
F> Then please tell me, how 4dos is to detect that no other shell is acti=
F> currently, or, to put it into other words, that FreeCOM had been start=
F> by the kernel's process-0 loader.
Well, I made some tests.
1. MS-command.com never assumes itself primary without /P.
2. without SHELL=3D, MS-DOS starts command.com with /P option.
3. when SHELL=3D line wrong or shell exits, MS-DOS tries to automatically=
(searched in root, \msdos and \dos directories) command.com with /p an=
says "Bad or missing Command Interpreter" only when it not finds it.
4. when program runs through INSTALL=3D and SHELL=3D in MS-DOS, then pare=
in env_seg (2C) and parent_PSP (16) contains both zero.
So, with (1) FreeCOM currently is consistent and, probably, may not be
changed. Other relate to FreeDOS kernel: (2) is same, (4) I plan to chang=
(3) isn't necessary, at my teste.
5. MS-command.com places its (resized) segment with environment right aft=
itself (original segment preserved not freed), FreeCOM places environm=
into UMB, but, as I understand, with LAST_FIT.
6. I don't know where MS-DOS preserves original environment from config.s=
I not found it in memory.
I think, (5) should be changed (LAST_FIT to BEST_FIT).
F> BTW: Please refer to Undoc DOS's section about to find the master shel=
F> environment, so we need not discuss stuff like:
How refer it?
F> + INT-2E,
F> + environment behind PSP,
F> + first PSP.
What there sayed about "first PSP" and what mean "env behind PSP"?
>> I think, this should be implemented in any case.
F> When FreeCOM can determine, if it is or is not the primary shell, it
F> will be done.
I mean not primarity, but too verbose startup screen with long help.