* Increase the size of sigset_t to accomodate 128 signals -- adding new
versions of sys_setprocmask(), sys_sigaction(), sys_sigpending() and
sys_sigsuspend() to handle the changed arguments.
* Abstract the guts of sys_sigaltstack(), sys_setprocmask(), sys_sigaction(),
sys_sigpending() and sys_sigsuspend() into separate functions, and call them
from all the emulations rather than hard-coding everything. (Avoids uses
the stackgap crap for these system calls.)
* Add a new flag (p_checksig) to indicate that a process may have signals
pending and userret() needs to do the full (slow) check.
* Eliminate SAS_ALTSTACK; it's exactly the inverse of SS_DISABLE.
* Correct emulation bugs with restoring SS_ONSTACK.
* Make the signal mask in the sigcontext always use the emulated mask format.
* Store signals internally in sigaction structures, rather than maintaining a
bunch of little sigsets for each SA_* bit.
* Keep track of where we put the signal trampoline, rather than figuring it out
in *_sendsig().
* Issue a warning when a non-emulated sigaction bit is observed.
* Add missing emulated signals, and a native SIGPWR (currently not used).
* Implement the `not reset when caught' semantics for relevant signals.
Note: Only code touched by the i386 port has been modified. Other ports and
emulations need to be updated.
through SVR4 emulation layers to handle SVR4's pread64(2) and pwrite64(2),
since NetBSD's arguments are the same as the SVR4 64-bit system call
arguments.
- Fix memcntl()
- Fixed stat and mknod syscalls to properly disassemble and reassemble
dev_t values to/from emulation dev_t's
- Added pty (ptmx) subsystem at svr4net minor number 10 -- /dev/ptmx
- Implemented fork1() as fork() (should change if and when threads get
added to the system)
- fixed spellings in disclaimer in svr4_net.c; it looks like someone went
and did a s/nd/st/g on the whole file... yuck
- changed ptmx device to also halt on ENXIO (for pty files that exist with
no kernel pty to back them)
- fixed SVR4 setpgrp() to be a near equivalent to BSD setsid() (old
emulation didn't create a new session)
2. many termio, ioctl, sigaction fixes
3. better socket type emulation; still ticotsord [the loopback interface I
guess] does not work properly on svr4 4.1.
4. new gettimeofday, fixed utssys..
5. rmdir and mkdir were swapped in syscalls.master