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. |
||
---|---|---|
.. | ||
compat_exec.c | ||
compat_util.c | ||
compat_util.h | ||
kern_exit_43.c | ||
kern_info_09.c | ||
kern_info_43.c | ||
kern_ipc_10.c | ||
kern_resource_43.c | ||
kern_sig_13.c | ||
kern_sig_43.c | ||
kern_xxx_12.c | ||
Makefile | ||
Makefile.inc | ||
tty_43.c | ||
uipc_syscalls_43.c | ||
vfs_syscalls_12.c | ||
vfs_syscalls_43.c | ||
vm_12.c | ||
vm_43.c |