On Wed, Aug 10, 2011 at 5:58 AM, Mark Cave-Ayland
<mark.cave-ayland@siriusit.co.uk> wrote:
On 09/08/11 22:55, William Hahne wrote:
BootX will sometimes set the stdout variable to null and then
subsequently call io-emit which can eventually result in an infinite loop.
Index: forth/admin/iocontrol.fs
===================================================================
--- forth/admin/iocontrol.fs (revision 1041)
+++ forth/admin/iocontrol.fs (working copy)
@@ -80,6 +80,7 @@
;
: io-emit ( char -- )
+ stdout @ 0= if drop exit then \ make sure stdout pointer is not null
io-out-char c!
io-out-char 1 " write" stdout @ $call-method drop
;
Hmmm isn't this just hiding another bug which is that the stdout variable/defer is being set?
I think it is a bug in BootX (at least I would call it a bug.) Modifying BootX isn't a particularly realistic option so the workaround is necessary.
ATB,
Mark.
--
Mark Cave-Ayland - Senior Technical Architect
PostgreSQL - PostGIS
Sirius Corporation plc - control through freedom
http://www.siriusit.co.uk
t: +44 870 608 0063
Sirius Labs: http://www.siriusit.co.uk/labs
--
OpenBIOS http://openbios.org/
Mailinglist: http://lists.openbios.org/mailman/listinfo
Free your System - May the Forth be with you
William Hahne