Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys add a copyin function for sigset so that we can use sigt...
details: https://anonhg.NetBSD.org/src/rev/bbad108146c2
branches: trunk
changeset: 771276:bbad108146c2
user: christos <christos%NetBSD.org@localhost>
date: Fri Nov 18 03:34:13 2011 +0000
description:
add a copyin function for sigset so that we can use sigtimedwait1 from
emulations.
diffstat:
sys/compat/common/kern_time_50.c | 8 ++++----
sys/compat/netbsd32/netbsd32_compat_50.c | 5 +++--
sys/compat/netbsd32/netbsd32_signal.c | 5 +++--
sys/kern/sys_sig.c | 11 ++++++-----
sys/sys/signalvar.h | 4 ++--
5 files changed, 18 insertions(+), 15 deletions(-)
diffs (145 lines):
diff -r e7e61c5c4b3f -r bbad108146c2 sys/compat/common/kern_time_50.c
--- a/sys/compat/common/kern_time_50.c Fri Nov 18 02:38:17 2011 +0000
+++ b/sys/compat/common/kern_time_50.c Fri Nov 18 03:34:13 2011 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: kern_time_50.c,v 1.19 2011/03/04 01:36:56 christos Exp $ */
+/* $NetBSD: kern_time_50.c,v 1.20 2011/11/18 03:34:13 christos Exp $ */
/*-
* Copyright (c) 2008, 2009 The NetBSD Foundation, Inc.
@@ -29,7 +29,7 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: kern_time_50.c,v 1.19 2011/03/04 01:36:56 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kern_time_50.c,v 1.20 2011/11/18 03:34:13 christos Exp $");
#ifdef _KERNEL_OPT
#include "opt_aio.h"
@@ -480,8 +480,8 @@
int res;
res = sigtimedwait1(l,
- (const struct sys_____sigtimedwait50_args *)uap, retval, copyout,
- tscopyin, tscopyout);
+ (const struct sys_____sigtimedwait50_args *)uap, retval, copyin,
+ copyout, tscopyin, tscopyout);
if (!res)
*retval = 0; /* XXX NetBSD<=5 was not POSIX compliant */
return res;
diff -r e7e61c5c4b3f -r bbad108146c2 sys/compat/netbsd32/netbsd32_compat_50.c
--- a/sys/compat/netbsd32/netbsd32_compat_50.c Fri Nov 18 02:38:17 2011 +0000
+++ b/sys/compat/netbsd32/netbsd32_compat_50.c Fri Nov 18 03:34:13 2011 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: netbsd32_compat_50.c,v 1.19 2011/05/23 21:34:47 joerg Exp $ */
+/* $NetBSD: netbsd32_compat_50.c,v 1.20 2011/11/18 03:34:13 christos Exp $ */
/*-
* Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -36,7 +36,7 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_compat_50.c,v 1.19 2011/05/23 21:34:47 joerg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_compat_50.c,v 1.20 2011/11/18 03:34:13 christos Exp $");
#if defined(_KERNEL_OPT)
#include "opt_sysv.h"
@@ -501,6 +501,7 @@
NETBSD32TOP_UAP(timeout, struct timespec);
res = sigtimedwait1(l, &ua, retval,
+ copyin,
compat_50_netbsd32_sigtimedwait_put_info,
compat_50_netbsd32_sigtimedwait_fetch_timeout,
compat_50_netbsd32_sigtimedwait_put_timeout);
diff -r e7e61c5c4b3f -r bbad108146c2 sys/compat/netbsd32/netbsd32_signal.c
--- a/sys/compat/netbsd32/netbsd32_signal.c Fri Nov 18 02:38:17 2011 +0000
+++ b/sys/compat/netbsd32/netbsd32_signal.c Fri Nov 18 03:34:13 2011 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: netbsd32_signal.c,v 1.35 2011/02/03 21:45:31 joerg Exp $ */
+/* $NetBSD: netbsd32_signal.c,v 1.36 2011/11/18 03:34:13 christos Exp $ */
/*
* Copyright (c) 1998, 2001 Matthew R. Green
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_signal.c,v 1.35 2011/02/03 21:45:31 joerg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_signal.c,v 1.36 2011/11/18 03:34:13 christos Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -483,6 +483,7 @@
NETBSD32TOP_UAP(timeout, struct timespec);
return sigtimedwait1(l, &ua, retval,
+ copyin,
netbsd32_sigtimedwait_put_info,
netbsd32_sigtimedwait_fetch_timeout,
netbsd32_sigtimedwait_put_timeout);
diff -r e7e61c5c4b3f -r bbad108146c2 sys/kern/sys_sig.c
--- a/sys/kern/sys_sig.c Fri Nov 18 02:38:17 2011 +0000
+++ b/sys/kern/sys_sig.c Fri Nov 18 03:34:13 2011 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: sys_sig.c,v 1.35 2011/05/29 22:14:53 christos Exp $ */
+/* $NetBSD: sys_sig.c,v 1.36 2011/11/18 03:34:13 christos Exp $ */
/*-
* Copyright (c) 2006, 2007, 2008 The NetBSD Foundation, Inc.
@@ -66,7 +66,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sys_sig.c,v 1.35 2011/05/29 22:14:53 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sys_sig.c,v 1.36 2011/11/18 03:34:13 christos Exp $");
#include <sys/param.h>
#include <sys/kernel.h>
@@ -365,7 +365,7 @@
const struct sys_____sigtimedwait50_args *uap, register_t *retval)
{
- return sigtimedwait1(l, uap, retval, copyout, copyin, copyout);
+ return sigtimedwait1(l, uap, retval, copyin, copyout, copyin, copyout);
}
int
@@ -697,7 +697,8 @@
int
sigtimedwait1(struct lwp *l, const struct sys_____sigtimedwait50_args *uap,
- register_t *retval, copyout_t storeinf, copyin_t fetchts, copyout_t storets)
+ register_t *retval, copyin_t fetchss, copyout_t storeinf, copyin_t fetchts,
+ copyout_t storets)
{
/* {
syscallarg(const sigset_t *) set;
@@ -734,7 +735,7 @@
timo = 0;
}
- error = copyin(SCARG(uap, set), &l->l_sigwaitset,
+ error = (*fetchss)(SCARG(uap, set), &l->l_sigwaitset,
sizeof(l->l_sigwaitset));
if (error)
return error;
diff -r e7e61c5c4b3f -r bbad108146c2 sys/sys/signalvar.h
--- a/sys/sys/signalvar.h Fri Nov 18 02:38:17 2011 +0000
+++ b/sys/sys/signalvar.h Fri Nov 18 03:34:13 2011 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: signalvar.h,v 1.81 2011/05/28 15:33:41 christos Exp $ */
+/* $NetBSD: signalvar.h,v 1.82 2011/11/18 03:34:13 christos Exp $ */
/*
* Copyright (c) 1991, 1993
@@ -180,7 +180,7 @@
struct sys_____sigtimedwait50_args;
int sigtimedwait1(struct lwp *, const struct sys_____sigtimedwait50_args *,
- register_t *, copyout_t, copyin_t, copyout_t);
+ register_t *, copyin_t, copyout_t, copyin_t, copyout_t);
void signotify(struct lwp *);
int sigispending(struct lwp *, int);
Home |
Main Index |
Thread Index |
Old Index