fb526e055c
* 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. |
||
---|---|---|
.. | ||
files.freebsd | ||
freebsd_exec.c | ||
freebsd_exec.h | ||
freebsd_file.c | ||
freebsd_ioctl.c | ||
freebsd_ioctl.h | ||
freebsd_ipc.c | ||
freebsd_misc.c | ||
freebsd_ptrace.c | ||
freebsd_ptrace.h | ||
freebsd_rtprio.h | ||
freebsd_syscall.h | ||
freebsd_syscallargs.h | ||
freebsd_syscalls.c | ||
freebsd_sysent.c | ||
freebsd_timex.h | ||
freebsd_util.h | ||
Makefile | ||
syscalls.conf | ||
syscalls.master |