04 February 2004

This is an approved src.alt for 255.vortex in CPU2000 v1.2.  It adds
code to set two file pointers to NULL to block some printfs to the
files.

To apply the src.alt, unpack the tar file in the top level of the CPU2000
directory.  The following sequence of commands should accomplish this:

$ /bin/sh
$ cd <cpu2000 dir>
$ . ./shrc
$ go top
$ specgzip -dc <src.alt tarball> | spectar -xvf -

Please replace the items in angle brackets ( <> ) as appropriate.

To have the src.alt applied during compilation, please add the following
stanza to your config file:

# Enable 255.vortex closed_files src.alt
255.vortex=default=default=default:
srcalt=closed_files

This src.alt fixes a minor bug in the final calls to TraceMsg and 
StackTrack near the end of main in bmt0.c.  The problem is that the 
routines TraceMsg and StackTrack attempt to write using file pointers 
OutFilePtr and MsgFilePtr, which have just been closed by Domain_Exit.
Setting the pointers to NULL prevents writing to closed files because 
TraceMsg and StackTrack check for NULL file ptrs.  The following small
diff shows the source change in routine Domain_Exit in file domain.c:

   % diff domain.c.0 domain.c
   1265a1266
   >                OutFilePtr = NULL;
   1266a1268
   >                MsgFilePtr = NULL;
