summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTheo de Raadt <deraadt@cvs.openbsd.org>1997-09-15 03:01:50 +0000
committerTheo de Raadt <deraadt@cvs.openbsd.org>1997-09-15 03:01:50 +0000
commit7327d007eb2ac22e85965fd25425060c4f4aea63 (patch)
tree5af86ae11b8865da75c42ce9ed740a2f55a24cdb
parent952b10fcccfacfc7bfe2884e71702751a7328d3d (diff)
Fix bsd_to_*_sigaction(). Also add SA_SIGINFO support
-rw-r--r--sys/compat/ibcs2/ibcs2_signal.c4
-rw-r--r--sys/compat/osf1/osf1_signal.c16
-rw-r--r--sys/compat/svr4/svr4_signal.c16
3 files changed, 22 insertions, 14 deletions
diff --git a/sys/compat/ibcs2/ibcs2_signal.c b/sys/compat/ibcs2/ibcs2_signal.c
index 1f381b810ad..ddbb52b4fb6 100644
--- a/sys/compat/ibcs2/ibcs2_signal.c
+++ b/sys/compat/ibcs2/ibcs2_signal.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ibcs2_signal.c,v 1.4 1997/06/02 09:42:08 deraadt Exp $ */
+/* $OpenBSD: ibcs2_signal.c,v 1.5 1997/09/15 03:01:44 deraadt Exp $ */
/* $NetBSD: ibcs2_signal.c,v 1.8 1996/05/03 17:05:27 christos Exp $ */
/*
@@ -189,7 +189,7 @@ bsd_to_ibcs2_sigaction(bsa, isa)
bsd_to_ibcs2_sigset(&bsa->sa_mask, &isa->sa_mask);
isa->sa_flags = 0;
if ((bsa->sa_flags & SA_NOCLDSTOP) != 0)
- isa->sa_flags |= SA_NOCLDSTOP;
+ isa->sa_flags |= IBCS2_SA_NOCLDSTOP;
}
int
diff --git a/sys/compat/osf1/osf1_signal.c b/sys/compat/osf1/osf1_signal.c
index e7f0195e87a..7e99a8a5a51 100644
--- a/sys/compat/osf1/osf1_signal.c
+++ b/sys/compat/osf1/osf1_signal.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: osf1_signal.c,v 1.3 1996/08/02 20:35:26 niklas Exp $ */
+/* $OpenBSD: osf1_signal.c,v 1.4 1997/09/15 03:01:47 deraadt Exp $ */
#include <sys/param.h>
#include <sys/systm.h>
@@ -159,6 +159,8 @@ osf1_to_bsd_sigaction(osa, bsa)
bsa->sa_flags |= SA_NOCLDSTOP;
if ((osa->sa_flags & OSF1_SA_NODEFER) != 0)
bsa->sa_flags |= SA_NODEFER;
+ if ((osa->sa_flags & OSF1_SA_SIGINFO) != 0)
+ bsa->sa_flags |= SA_SIGINFO;
}
void
@@ -171,15 +173,17 @@ bsd_to_osf1_sigaction(bsa, osa)
bsd_to_osf1_sigset(&bsa->sa_mask, &osa->sa_mask);
osa->sa_flags = 0;
if ((bsa->sa_flags & SA_ONSTACK) != 0)
- osa->sa_flags |= SA_ONSTACK;
+ osa->sa_flags |= OSF1_SA_ONSTACK;
if ((bsa->sa_flags & SA_RESTART) != 0)
- osa->sa_flags |= SA_RESTART;
+ osa->sa_flags |= OSF1_SA_RESTART;
if ((bsa->sa_flags & SA_NOCLDSTOP) != 0)
- osa->sa_flags |= SA_NOCLDSTOP;
+ osa->sa_flags |= OSF1_SA_NOCLDSTOP;
if ((bsa->sa_flags & SA_NODEFER) != 0)
- osa->sa_flags |= SA_NODEFER;
+ osa->sa_flags |= OSF1_SA_NODEFER;
if ((bsa->sa_flags & SA_RESETHAND) != 0)
- osa->sa_flags |= SA_RESETHAND;
+ osa->sa_flags |= OSF1_SA_RESETHAND;
+ if ((bsa->sa_flags & SA_SIGINFO) != 0)
+ osa->sa_flags |= OSF1_SA_SIGINFO;
}
void
diff --git a/sys/compat/svr4/svr4_signal.c b/sys/compat/svr4/svr4_signal.c
index f635dc1ad6b..7d51f5610ce 100644
--- a/sys/compat/svr4/svr4_signal.c
+++ b/sys/compat/svr4/svr4_signal.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: svr4_signal.c,v 1.6 1997/06/02 09:42:15 deraadt Exp $ */
+/* $OpenBSD: svr4_signal.c,v 1.7 1997/09/15 03:01:49 deraadt Exp $ */
/* $NetBSD: svr4_signal.c,v 1.24 1996/12/06 03:21:53 christos Exp $ */
/*
@@ -202,6 +202,8 @@ svr4_to_bsd_sigaction(ssa, bsa)
bsa->sa_flags |= SA_NOCLDSTOP;
if ((ssa->sa_flags & SVR4_SA_NODEFER) != 0)
bsa->sa_flags |= SA_NODEFER;
+ if ((ssa->sa_flags & SVR4_SA_SIGINFO) != 0)
+ bsa->sa_flags |= SA_SIGINFO;
}
void
@@ -214,15 +216,17 @@ bsd_to_svr4_sigaction(bsa, ssa)
bsd_to_svr4_sigset(&bsa->sa_mask, &ssa->sa_mask);
ssa->sa_flags = 0;
if ((bsa->sa_flags & SA_ONSTACK) != 0)
- ssa->sa_flags |= SA_ONSTACK;
+ ssa->sa_flags |= SVR4_SA_ONSTACK;
if ((bsa->sa_flags & SA_RESETHAND) != 0)
- ssa->sa_flags |= SA_RESETHAND;
+ ssa->sa_flags |= SVR4_SA_RESETHAND;
if ((bsa->sa_flags & SA_RESTART) != 0)
- ssa->sa_flags |= SA_RESTART;
+ ssa->sa_flags |= SVR4_SA_RESTART;
if ((bsa->sa_flags & SA_NODEFER) != 0)
- ssa->sa_flags |= SA_NODEFER;
+ ssa->sa_flags |= SVR4_SA_NODEFER;
if ((bsa->sa_flags & SA_NOCLDSTOP) != 0)
- ssa->sa_flags |= SA_NOCLDSTOP;
+ ssa->sa_flags |= SVR4_SA_NOCLDSTOP;
+ if ((bsa->sa_flags & SA_SIGINFO) != 0)
+ ssa->sa_flags |= SVR4_SA_SIGINFO;
}
void