Porting notes:

For a new OS, modify the closest description file in hostenv/* to suit your OS.

For all non-BSD people:  The only really critical item is the behaviour of
your setuid() syscall.  If its a one-way trapdoor routine (i.e. a root process
cannot temporarily become unprivileged, and then revert), you'll have to do
the work of simulating this.  I'm told this is a problem with all System V's
from AT&T prior to SysVr2v2.1, and this will include V7 systems.  Experience
says it is a problem with all System V's, period.

The one other item that might give problems is the scheduler's use of the
select() call for multiplexing pipe inputs.  Until recently, the STREAMS
poll() call has not been an adequate substitute because it didn't support
pipe streams.

If the scheduler gives problems (like things are not getting delivered
although the control files have everything marked as if delivery was done),
you should suspect the handling of non-blocking I/O on pipes.  There is
a bug in at least System V and Ultrix with the reader dying immediately
when the writer dies, instead of when the pipe is drained.  Check out the
settings of the BSDNODELAY flag in the hostenv files.

This distribution was developed under SunOS 4.0, and has at one time
compiled and worked on all the systems described in the hostenv directory.

Remember to send your changes back to zmhacks@cs.toronto.edu.
