Hi!

26-Июн-2004 20:35 [EMAIL PROTECTED] (FreeCOM) wrote to
[EMAIL PROTECTED]:

>>      Ie. applications always get reduced (to size of contents) envrionment
>> memory block (notwithstanding /E, which affect only command.com' memory)?
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 executable,
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 without
>> /p. BTW, I see no ways to differ INSTALL= and SHELL=.
F> Then please tell me, how 4dos is to detect that no other shell is active
F> currently, or, to put it into other words, that FreeCOM had been started
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=, MS-DOS starts command.com with /P option.

3. when SHELL= line wrong or shell exits, MS-DOS tries to automatically run
   (searched in root, \msdos and \dos directories) command.com with /p and
   says "Bad or missing Command Interpreter" only when it not finds it.

4. when program runs through INSTALL= and SHELL= in MS-DOS, then parent PSP
   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 change,
(3) isn't necessary, at my teste.

     More tests:

5. MS-command.com places its (resized) segment with environment right after
   itself (original segment preserved not freed), FreeCOM places environment
   into UMB, but, as I understand, with LAST_FIT.

6. I don't know where MS-DOS preserves original environment from config.sys:
   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 shell
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.




-------------------------------------------------------
This SF.Net email sponsored by Black Hat Briefings & Training.
Attend Black Hat Briefings & Training, Las Vegas July 24-29 -
digital self defense, top technical experts, no vendor pitches,
unmatched networking opportunities. Visit www.blackhat.com
_______________________________________________
Freedos-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-devel

Reply via email to