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