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