Hi all,
this must be a regression bug. We had discussed "how does the shell
recognize that it is the primary shell?" before. We decided that /P
should NOT be auto-appended because of possible compatibility problems
if you use [any program] as shell. So there was something about the PSP
or parent PSP or environment (e.g. none at all unless CONFIG=... used?).
Please look at the old mails about that, I do not remember our exact
conclusions.
Anyway. If you use for example DEBUG as shell, then the kernel must
be able to cope with the fact that DEBUG can exit! And it already DID.
Problem is that the feature broke some time ago because of kernel self-
relocation (as far as I understand Luchos investigation results). So I
suggest to "simply" fix the feature:
while (1) {
run(the shell);
printf("Oops. Type name of shell which shall be run next.")
readline(the shell)
}
<-- ugly syntactically incorrect pseudo-C but you get the idea.
The feature currently looks like:
run(the shell);
printf("Shell finished. System halted."); while (1) {}; <-- simplified!
Problem: The 2nd line is not where it should be in RAM at the moment when
you EXIT the shell due to some relocation stuff as far as I understand Lucho.
Eric.
-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click
_______________________________________________
Freedos-kernel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-kernel