Random bug fixes in Utah Lites Release 1.1.u2
In no particular order:
- Integrated Jukka Partanen's (jtp@cs.hut.fi)
mmap
fix that
allows NetBSD and FreeBSD shared libraries to work.
- The
e_bsd_sigprocmask
emulator entry point should have only
two parameters, not three (the 4.4 system call interface is not the
same as the documented user interface).
This bug caused the old signal mask to always be returned as zero.
This was only fixed in the generic Lites sysent table.
Other emulation tables were left alone since we didn't know if this
is a correct change for them.
- Integrated a variant of Ian Dall's (dall@hfrd.dsto.gov.au) signal
mask fix. This bug caused the signal mask to be improperly restored
after a signal handler in some cases.
- Commented the race condition caused by forcibly delivering a signal
from the server to a running process.
TODO: Find and fix this bug.
- Integrated some filesystem clustering fixes that postdate 4.4-Lite.
TODO: Update the filesystem code to 4.4-Lite-2 level;
there are still more cluster related fixes in that code.
- Hack to make ensure block device
ioctl
s always work.
- Implement /dev/zero.
- Commented
mutex_holder_assert
out of the MASTER.h file
to avoid ``lock holder == 0'' assertion-failure panics when Lites is
compiled with the DEBUG option.
TODO: Find and fix this bug.
- Put a sequence number sanity check in the port object code.
If a message came in with a bogus sequence number (e.g., from a not
quite working new RPC system :-), the server could hang forever.
- Fixed a port reference underrun problem in the port object code.
In some situations the
extra_urefs
field would get out
of sync with the actual reference count causing
mach_port_mod_refs
to fail resulting in an assertion-failure
panic.
Mike Hibler
<mike@cs.utah.edu>
September 7, 1995