summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTodd C. Miller <millert@cvs.openbsd.org>1997-09-15 06:05:53 +0000
committerTodd C. Miller <millert@cvs.openbsd.org>1997-09-15 06:05:53 +0000
commit2ecb0baef9b41a84e9c7e2feb0f6bcfcd42e245f (patch)
tree94d12415f62e33006f9b05dcaf795f5a25a9fe0f
parentba17f093cfbe0f66e33bed60c33a154881deaf1d (diff)
SA_NOCLDWAIT
-rw-r--r--sys/compat/hpux/hpux.h5
-rw-r--r--sys/compat/hpux/hpux_sig.c6
-rw-r--r--sys/compat/svr4/svr4_signal.c6
3 files changed, 14 insertions, 3 deletions
diff --git a/sys/compat/hpux/hpux.h b/sys/compat/hpux/hpux.h
index f586389290f..66409ebdafa 100644
--- a/sys/compat/hpux/hpux.h
+++ b/sys/compat/hpux/hpux.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: hpux.h,v 1.5 1997/07/27 09:10:38 deraadt Exp $ */
+/* $OpenBSD: hpux.h,v 1.6 1997/09/15 06:05:51 millert Exp $ */
/* $NetBSD: hpux.h,v 1.11 1997/04/01 19:58:58 scottr Exp $ */
/*
@@ -289,6 +289,9 @@ struct hpux_sigaction {
#define HPUXSA_ONSTACK 1
#define HPUXSA_RESETHAND 4
#define HPUXSA_NOCLDSTOP 8
+#define HPUXSA_NODEFER 32
+#define HPUXSA_RESTART 64
+#define HPUXSA_NOCLDWAIT 128
#define HPUXSIG_BLOCK 0 /* block specified signal set */
#define HPUXSIG_UNBLOCK 1 /* unblock specified signal set */
diff --git a/sys/compat/hpux/hpux_sig.c b/sys/compat/hpux/hpux_sig.c
index 182cdf0b994..50d18452b46 100644
--- a/sys/compat/hpux/hpux_sig.c
+++ b/sys/compat/hpux/hpux_sig.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: hpux_sig.c,v 1.5 1997/07/27 09:10:39 deraadt Exp $ */
+/* $OpenBSD: hpux_sig.c,v 1.6 1997/09/15 06:05:52 millert Exp $ */
/* $NetBSD: hpux_sig.c,v 1.16 1997/04/01 19:59:02 scottr Exp $ */
/*
@@ -319,6 +319,8 @@ hpux_sys_sigaction(p, v, retval)
sa->sa_flags |= HPUXSA_RESETHAND;
if (p->p_flag & P_NOCLDSTOP)
sa->sa_flags |= HPUXSA_NOCLDSTOP;
+ if (p->p_flag & P_NOCLDWAIT)
+ sa->sa_flags |= HPUXSA_NOCLDWAIT;
if (copyout((caddr_t)sa, (caddr_t)SCARG(uap, osa),
sizeof (action)))
return (EFAULT);
@@ -341,6 +343,8 @@ hpux_sys_sigaction(p, v, retval)
act.sa_flags |= SA_ONSTACK;
if (sa->sa_flags & HPUXSA_NOCLDSTOP)
act.sa_flags |= SA_NOCLDSTOP;
+ if (sa->sa_flags & HPUXSA_NOCLDWAIT)
+ act.sa_flags |= SA_NOCLDWAIT;
setsigvec(p, sig, &act);
#if 0
/* XXX -- SOUSIG no longer exists, do something here */
diff --git a/sys/compat/svr4/svr4_signal.c b/sys/compat/svr4/svr4_signal.c
index 7d51f5610ce..4531aa74b62 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.7 1997/09/15 03:01:49 deraadt Exp $ */
+/* $OpenBSD: svr4_signal.c,v 1.8 1997/09/15 06:04:58 millert Exp $ */
/* $NetBSD: svr4_signal.c,v 1.24 1996/12/06 03:21:53 christos Exp $ */
/*
@@ -200,6 +200,8 @@ svr4_to_bsd_sigaction(ssa, bsa)
bsa->sa_flags |= SA_RESETHAND;
if ((ssa->sa_flags & SVR4_SA_NOCLDSTOP) != 0)
bsa->sa_flags |= SA_NOCLDSTOP;
+ if ((ssa->sa_flags & SVR4_SA_NOCLDWAIT) != 0)
+ bsa->sa_flags |= SA_NOCLDWAIT;
if ((ssa->sa_flags & SVR4_SA_NODEFER) != 0)
bsa->sa_flags |= SA_NODEFER;
if ((ssa->sa_flags & SVR4_SA_SIGINFO) != 0)
@@ -225,6 +227,8 @@ bsd_to_svr4_sigaction(bsa, ssa)
ssa->sa_flags |= SVR4_SA_NODEFER;
if ((bsa->sa_flags & SA_NOCLDSTOP) != 0)
ssa->sa_flags |= SVR4_SA_NOCLDSTOP;
+ if ((bsa->sa_flags & SA_NOCLDWAIT) != 0)
+ ssa->sa_flags |= SVR4_SA_NOCLDWAIT;
if ((bsa->sa_flags & SA_SIGINFO) != 0)
ssa->sa_flags |= SVR4_SA_SIGINFO;
}