summaryrefslogtreecommitdiff
path: root/sys/compat/linux/common/linux_exec.c
diff options
context:
space:
mode:
authormycroft <mycroft@NetBSD.org>1998-09-11 12:50:05 +0000
committermycroft <mycroft@NetBSD.org>1998-09-11 12:50:05 +0000
commitfb526e055ce7fc93c2d1e25d27ddcbb904326689 (patch)
tree246edcbecaa293bb66c325bdd2d7878a35c17b1f /sys/compat/linux/common/linux_exec.c
parent4e2ece10351d6d481d8324585b33261d0c47e49c (diff)
Substantial signal handling changes:
* 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.
Diffstat (limited to 'sys/compat/linux/common/linux_exec.c')
-rw-r--r--sys/compat/linux/common/linux_exec.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/compat/linux/common/linux_exec.c b/sys/compat/linux/common/linux_exec.c
index 7e6a79b7ec7..234328e019b 100644
--- a/sys/compat/linux/common/linux_exec.c
+++ b/sys/compat/linux/common/linux_exec.c
@@ -1,4 +1,4 @@
-/* $NetBSD: linux_exec.c,v 1.29 1998/09/05 14:50:26 christos Exp $ */
+/* $NetBSD: linux_exec.c,v 1.30 1998/09/11 12:50:08 mycroft Exp $ */
/*-
* Copyright (c) 1994 The NetBSD Foundation, Inc.
@@ -87,7 +87,6 @@
#include <machine/cpu.h>
#include <machine/reg.h>
-#include <machine/linux_machdep.h>
#include <compat/linux/linux_types.h>
#include <compat/linux/linux_syscall.h>
@@ -95,6 +94,7 @@
#include <compat/linux/linux_syscallargs.h>
#include <compat/linux/linux_util.h>
#include <compat/linux/linux_exec.h>
+#include <machine/linux_machdep.h>
static void *linux_aout_copyargs __P((struct exec_package *,
struct ps_strings *, void *, void *));