summaryrefslogtreecommitdiff
path: root/sys/compat/linux/common
diff options
context:
space:
mode:
authorfvdl <fvdl@NetBSD.org>1995-03-10 22:55:04 +0000
committerfvdl <fvdl@NetBSD.org>1995-03-10 22:55:04 +0000
commitfaf14422850fc348acd8cfae077d9cf46103cbe7 (patch)
treeddd714bc4cfc6e53c4bffc306bdb31f97f507251 /sys/compat/linux/common
parent7a903f90748ad908b4a01e38ebab87deca76daad (diff)
Add the Linux pause() system call. Fix the arguments to sigsuspend().
Diffstat (limited to 'sys/compat/linux/common')
-rw-r--r--sys/compat/linux/common/linux_sig_notalpha.c22
-rw-r--r--sys/compat/linux/common/linux_sigaction.c22
-rw-r--r--sys/compat/linux/common/linux_signal.c22
3 files changed, 60 insertions, 6 deletions
diff --git a/sys/compat/linux/common/linux_sig_notalpha.c b/sys/compat/linux/common/linux_sig_notalpha.c
index 70d98544ff4..131d2be6bcc 100644
--- a/sys/compat/linux/common/linux_sig_notalpha.c
+++ b/sys/compat/linux/common/linux_sig_notalpha.c
@@ -1,4 +1,4 @@
-/* $NetBSD: linux_sig_notalpha.c,v 1.2 1995/03/08 15:17:49 fvdl Exp $ */
+/* $NetBSD: linux_sig_notalpha.c,v 1.3 1995/03/10 22:55:04 fvdl Exp $ */
/*
* Copyright (c) 1995 Frank van der Linden
@@ -53,7 +53,7 @@
#include <compat/linux/linux_signal.h>
/*
- * Most of the stuff in this file is taken from Christos' SVR4 emul
+ * Most of ths stuff in this file is taken from Christos' SVR4 emul
* code. The things that need to be done are largely the same, so
* re-inventing the wheel doesn't make much sense.
*/
@@ -497,6 +497,8 @@ int
linux_sigsuspend(p, uap, retval)
struct proc *p;
struct linux_sigsuspend_args /* {
+ syscallarg(caddr_t) restart;
+ syscallarg(int) oldmask;
syscallarg(int) mask;
} */ *uap;
register_t *retval;
@@ -508,6 +510,22 @@ linux_sigsuspend(p, uap, retval)
}
/*
+ * The deprecated pause(2), which is really just an instance
+ * of sigsuspend(2).
+ */
+int
+linux_pause(p, uap, retval)
+ struct proc *p;
+ void *uap;
+ register_t *retval;
+{
+ struct sigsuspend_args bsa;
+
+ SCARG(&bsa, mask) = p->p_sigmask;
+ return sigsuspend(p, &bsa, retval);
+}
+
+/*
* Once more: only a signal conversion is needed.
*/
int
diff --git a/sys/compat/linux/common/linux_sigaction.c b/sys/compat/linux/common/linux_sigaction.c
index 438e5a85dc1..ed24436380b 100644
--- a/sys/compat/linux/common/linux_sigaction.c
+++ b/sys/compat/linux/common/linux_sigaction.c
@@ -1,4 +1,4 @@
-/* $NetBSD: linux_sigaction.c,v 1.2 1995/03/08 15:17:49 fvdl Exp $ */
+/* $NetBSD: linux_sigaction.c,v 1.3 1995/03/10 22:55:04 fvdl Exp $ */
/*
* Copyright (c) 1995 Frank van der Linden
@@ -53,7 +53,7 @@
#include <compat/linux/linux_signal.h>
/*
- * Most of the stuff in this file is taken from Christos' SVR4 emul
+ * Most of ths stuff in this file is taken from Christos' SVR4 emul
* code. The things that need to be done are largely the same, so
* re-inventing the wheel doesn't make much sense.
*/
@@ -497,6 +497,8 @@ int
linux_sigsuspend(p, uap, retval)
struct proc *p;
struct linux_sigsuspend_args /* {
+ syscallarg(caddr_t) restart;
+ syscallarg(int) oldmask;
syscallarg(int) mask;
} */ *uap;
register_t *retval;
@@ -508,6 +510,22 @@ linux_sigsuspend(p, uap, retval)
}
/*
+ * The deprecated pause(2), which is really just an instance
+ * of sigsuspend(2).
+ */
+int
+linux_pause(p, uap, retval)
+ struct proc *p;
+ void *uap;
+ register_t *retval;
+{
+ struct sigsuspend_args bsa;
+
+ SCARG(&bsa, mask) = p->p_sigmask;
+ return sigsuspend(p, &bsa, retval);
+}
+
+/*
* Once more: only a signal conversion is needed.
*/
int
diff --git a/sys/compat/linux/common/linux_signal.c b/sys/compat/linux/common/linux_signal.c
index 2e679dde7e5..50ef5623821 100644
--- a/sys/compat/linux/common/linux_signal.c
+++ b/sys/compat/linux/common/linux_signal.c
@@ -1,4 +1,4 @@
-/* $NetBSD: linux_signal.c,v 1.2 1995/03/08 15:17:49 fvdl Exp $ */
+/* $NetBSD: linux_signal.c,v 1.3 1995/03/10 22:55:04 fvdl Exp $ */
/*
* Copyright (c) 1995 Frank van der Linden
@@ -53,7 +53,7 @@
#include <compat/linux/linux_signal.h>
/*
- * Most of the stuff in this file is taken from Christos' SVR4 emul
+ * Most of ths stuff in this file is taken from Christos' SVR4 emul
* code. The things that need to be done are largely the same, so
* re-inventing the wheel doesn't make much sense.
*/
@@ -497,6 +497,8 @@ int
linux_sigsuspend(p, uap, retval)
struct proc *p;
struct linux_sigsuspend_args /* {
+ syscallarg(caddr_t) restart;
+ syscallarg(int) oldmask;
syscallarg(int) mask;
} */ *uap;
register_t *retval;
@@ -508,6 +510,22 @@ linux_sigsuspend(p, uap, retval)
}
/*
+ * The deprecated pause(2), which is really just an instance
+ * of sigsuspend(2).
+ */
+int
+linux_pause(p, uap, retval)
+ struct proc *p;
+ void *uap;
+ register_t *retval;
+{
+ struct sigsuspend_args bsa;
+
+ SCARG(&bsa, mask) = p->p_sigmask;
+ return sigsuspend(p, &bsa, retval);
+}
+
+/*
* Once more: only a signal conversion is needed.
*/
int