Module Name:    src
Committed By:   christos
Date:           Tue Oct  2 01:44:29 UTC 2012

Modified Files:
        src/sys/compat/common: kern_time_50.c
        src/sys/compat/ibcs2: ibcs2_misc.c
        src/sys/compat/linux/common: linux_time.c
        src/sys/compat/linux32/common: linux32_time.c
        src/sys/compat/netbsd32: netbsd32_compat_50.c netbsd32_time.c
            syscalls.master
        src/sys/kern: kern_time.c syscalls.master
        src/sys/sys: param.h timevar.h

Log Message:
kernel portion of clock_nanosleep()


To generate a diff of this commit:
cvs rdiff -u -r1.22 -r1.23 src/sys/compat/common/kern_time_50.c
cvs rdiff -u -r1.111 -r1.112 src/sys/compat/ibcs2/ibcs2_misc.c
cvs rdiff -u -r1.35 -r1.36 src/sys/compat/linux/common/linux_time.c
cvs rdiff -u -r1.36 -r1.37 src/sys/compat/linux32/common/linux32_time.c
cvs rdiff -u -r1.20 -r1.21 src/sys/compat/netbsd32/netbsd32_compat_50.c
cvs rdiff -u -r1.41 -r1.42 src/sys/compat/netbsd32/netbsd32_time.c
cvs rdiff -u -r1.95 -r1.96 src/sys/compat/netbsd32/syscalls.master
cvs rdiff -u -r1.174 -r1.175 src/sys/kern/kern_time.c
cvs rdiff -u -r1.260 -r1.261 src/sys/kern/syscalls.master
cvs rdiff -u -r1.419 -r1.420 src/sys/sys/param.h
cvs rdiff -u -r1.31 -r1.32 src/sys/sys/timevar.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/compat/common/kern_time_50.c
diff -u src/sys/compat/common/kern_time_50.c:1.22 src/sys/compat/common/kern_time_50.c:1.23
--- src/sys/compat/common/kern_time_50.c:1.22	Wed Jan  4 09:31:17 2012
+++ src/sys/compat/common/kern_time_50.c	Mon Oct  1 21:44:27 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: kern_time_50.c,v 1.22 2012/01/04 14:31:17 apb Exp $	*/
+/*	$NetBSD: kern_time_50.c,v 1.23 2012/10/02 01:44:27 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.22 2012/01/04 14:31:17 apb Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kern_time_50.c,v 1.23 2012/10/02 01:44:27 christos Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_aio.h"
@@ -152,7 +152,8 @@ compat_50_sys_nanosleep(struct lwp *l,
 		return error;
 	timespec50_to_timespec(&rqt50, &rqt);
 
-	error = nanosleep1(l, &rqt, SCARG(uap, rmtp) ? &rmt : NULL);
+	error = nanosleep1(l, CLOCK_MONOTONIC, 0, &rqt,
+	    SCARG(uap, rmtp) ? &rmt : NULL);
 	if (SCARG(uap, rmtp) == NULL || (error != 0 && error != EINTR))
 		return error;
 

Index: src/sys/compat/ibcs2/ibcs2_misc.c
diff -u src/sys/compat/ibcs2/ibcs2_misc.c:1.111 src/sys/compat/ibcs2/ibcs2_misc.c:1.112
--- src/sys/compat/ibcs2/ibcs2_misc.c:1.111	Thu Jun 24 09:03:06 2010
+++ src/sys/compat/ibcs2/ibcs2_misc.c	Mon Oct  1 21:44:27 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: ibcs2_misc.c,v 1.111 2010/06/24 13:03:06 hannken Exp $	*/
+/*	$NetBSD: ibcs2_misc.c,v 1.112 2012/10/02 01:44:27 christos Exp $	*/
 
 /*
  * Copyright (c) 1992, 1993
@@ -95,7 +95,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ibcs2_misc.c,v 1.111 2010/06/24 13:03:06 hannken Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ibcs2_misc.c,v 1.112 2012/10/02 01:44:27 christos Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -1254,7 +1254,7 @@ xenix_sys_nap(struct lwp *l, const struc
 
 	rqt.tv_sec = 0;
 	rqt.tv_nsec = SCARG(uap, millisec) * 1000;
-	error = nanosleep1(l, &rqt, &rmt);
+	error = nanosleep1(l, CLOCK_MONOTONIC, 0, &rqt, &rmt);
 	/* If interrupted we can either report EINTR, or the time left */
 	if (error != 0 && error != EINTR)
 		return error;

Index: src/sys/compat/linux/common/linux_time.c
diff -u src/sys/compat/linux/common/linux_time.c:1.35 src/sys/compat/linux/common/linux_time.c:1.36
--- src/sys/compat/linux/common/linux_time.c:1.35	Thu Nov 17 23:07:44 2011
+++ src/sys/compat/linux/common/linux_time.c	Mon Oct  1 21:44:28 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: linux_time.c,v 1.35 2011/11/18 04:07:44 christos Exp $ */
+/*	$NetBSD: linux_time.c,v 1.36 2012/10/02 01:44:28 christos Exp $ */
 
 /*-
  * Copyright (c) 2001 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux_time.c,v 1.35 2011/11/18 04:07:44 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux_time.c,v 1.36 2012/10/02 01:44:28 christos Exp $");
 
 #include <sys/param.h>
 #include <sys/ucred.h>
@@ -155,7 +155,8 @@ linux_sys_nanosleep(struct lwp *l, const
 		return error;
 	linux_to_native_timespec(&rqts, &lrqts);
 
-	error = nanosleep1(l, &rqts, SCARG(uap, rmtp) ? &rmts : NULL);
+	error = nanosleep1(l, CLOCK_MONOTONIC, 0, &rqts,
+	    SCARG(uap, rmtp) ? &rmts : NULL);
 	if (SCARG(uap, rmtp) == NULL || (error != 0 && error != EINTR))
 		return error;
 
@@ -269,11 +270,10 @@ linux_sys_clock_nanosleep(struct lwp *l,
 	} */
 	struct linux_timespec lrqts, lrmts;
 	struct timespec rqts, rmts;
-	int error, error1;
+	int error, error1, flags;
 	clockid_t nwhich;
 
-	if (SCARG(uap, flags) != 0)
-		return EINVAL;		/* XXX deal with TIMER_ABSTIME */
+	flags = SCARG(uap, flags) != 0 ? TIMER_ABSTIME : 0;
 
 	error = linux_to_native_clockid(&nwhich, SCARG(uap, which));
 	if (error != 0)
@@ -285,7 +285,8 @@ linux_sys_clock_nanosleep(struct lwp *l,
 
 	linux_to_native_timespec(&rqts, &lrqts);
 
-	error = nanosleep1(l, &rqts, SCARG(uap, rmtp) ? &rmts : NULL);
+	error = nanosleep1(l, nwhich, flags, &rqts,
+	    SCARG(uap, rmtp) ? &rmts : NULL);
 	if (SCARG(uap, rmtp) == NULL || (error != 0 && error != EINTR))
 		return error;
 

Index: src/sys/compat/linux32/common/linux32_time.c
diff -u src/sys/compat/linux32/common/linux32_time.c:1.36 src/sys/compat/linux32/common/linux32_time.c:1.37
--- src/sys/compat/linux32/common/linux32_time.c:1.36	Thu Nov 17 23:08:56 2011
+++ src/sys/compat/linux32/common/linux32_time.c	Mon Oct  1 21:44:28 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: linux32_time.c,v 1.36 2011/11/18 04:08:56 christos Exp $ */
+/*	$NetBSD: linux32_time.c,v 1.37 2012/10/02 01:44:28 christos Exp $ */
 
 /*-
  * Copyright (c) 2006 Emmanuel Dreyfus, all rights reserved.
@@ -33,7 +33,7 @@
 
 #include <sys/cdefs.h>
 
-__KERNEL_RCSID(0, "$NetBSD: linux32_time.c,v 1.36 2011/11/18 04:08:56 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux32_time.c,v 1.37 2012/10/02 01:44:28 christos Exp $");
 
 #include <sys/types.h>
 #include <sys/param.h>
@@ -265,7 +265,8 @@ linux32_sys_nanosleep(struct lwp *l,
 		return error;
 	linux32_to_native_timespec(&rqts, &lrqts);
 
-	error = nanosleep1(l, &rqts, SCARG_P32(uap, rmtp) ? &rmts : NULL);
+	error = nanosleep1(l, CLOCK_MONOTONIC, 0, &rqts,
+	    SCARG_P32(uap, rmtp) ? &rmts : NULL);
 	if (SCARG_P32(uap, rmtp) == NULL || (error != 0 && error != EINTR))
 		return error;
 
@@ -360,11 +361,10 @@ linux32_sys_clock_nanosleep(struct lwp *
 	} */
 	struct linux32_timespec lrqts, lrmts;
 	struct timespec rqts, rmts;
-	int error, error1;
+	int error, error1, flags;
 	clockid_t id;
 
-	if (SCARG(uap, flags) != 0)
-		return EINVAL;          /* XXX deal with TIMER_ABSTIME */
+	flags = SCARG(uap, flags) != 0 ? TIMER_ABSTIME : 0;
 
 	error = linux_to_native_clockid(&id, SCARG(uap, which));
 	if (error != 0)
@@ -375,7 +375,8 @@ linux32_sys_clock_nanosleep(struct lwp *
 		return error;
 	linux32_to_native_timespec(&rqts, &lrqts);
 
-	error = nanosleep1(l, &rqts, SCARG_P32(uap, rmtp) ? &rmts : NULL);
+	error = nanosleep1(l, id, flags, &rqts,
+	    SCARG_P32(uap, rmtp) ? &rmts : NULL);
 	if (SCARG_P32(uap, rmtp) == NULL || (error != 0 && error != EINTR))
 		return error;
 

Index: src/sys/compat/netbsd32/netbsd32_compat_50.c
diff -u src/sys/compat/netbsd32/netbsd32_compat_50.c:1.20 src/sys/compat/netbsd32/netbsd32_compat_50.c:1.21
--- src/sys/compat/netbsd32/netbsd32_compat_50.c:1.20	Thu Nov 17 22:34:13 2011
+++ src/sys/compat/netbsd32/netbsd32_compat_50.c	Mon Oct  1 21:44:28 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_compat_50.c,v 1.20 2011/11/18 03:34:13 christos Exp $	*/
+/*	$NetBSD: netbsd32_compat_50.c,v 1.21 2012/10/02 01:44:28 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.20 2011/11/18 03:34:13 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_compat_50.c,v 1.21 2012/10/02 01:44:28 christos Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_sysv.h"
@@ -438,7 +438,8 @@ compat_50_netbsd32_nanosleep(struct lwp 
 		return (error);
 	netbsd32_to_timespec50(&ts32, &rqt);
 
-	error = nanosleep1(l, &rqt, SCARG_P32(uap, rmtp) ? &rmt : NULL);
+	error = nanosleep1(l, CLOCK_MONOTONIC, 0, &rqt,
+	    SCARG_P32(uap, rmtp) ? &rmt : NULL);
 	if (SCARG_P32(uap, rmtp) == NULL || (error != 0 && error != EINTR))
 		return error;
 

Index: src/sys/compat/netbsd32/netbsd32_time.c
diff -u src/sys/compat/netbsd32/netbsd32_time.c:1.41 src/sys/compat/netbsd32/netbsd32_time.c:1.42
--- src/sys/compat/netbsd32/netbsd32_time.c:1.41	Thu Apr  8 07:51:14 2010
+++ src/sys/compat/netbsd32/netbsd32_time.c	Mon Oct  1 21:44:28 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_time.c,v 1.41 2010/04/08 11:51:14 njoly Exp $	*/
+/*	$NetBSD: netbsd32_time.c,v 1.42 2012/10/02 01:44:28 christos Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Matthew R. Green
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_time.c,v 1.41 2010/04/08 11:51:14 njoly Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_time.c,v 1.42 2012/10/02 01:44:28 christos Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_ntp.h"
@@ -422,12 +422,41 @@ netbsd32___nanosleep50(struct lwp *l, co
 		return (error);
 	netbsd32_to_timespec(&ts32, &rqt);
 
-	error = nanosleep1(l, &rqt, SCARG_P32(uap, rmtp) ? &rmt : NULL);
+	error = nanosleep1(l, CLOCK_MONOTONIC, 0, &rqt,
+	    SCARG_P32(uap, rmtp) ? &rmt : NULL);
 	if (SCARG_P32(uap, rmtp) == NULL || (error != 0 && error != EINTR))
 		return error;
 
 	netbsd32_from_timespec(&rmt, &ts32);
-	error1 = copyout(&ts32, SCARG_P32(uap,rmtp), sizeof(ts32));
+	error1 = copyout(&ts32, SCARG_P32(uap, rmtp), sizeof(ts32));
+	return error1 ? error1 : error;
+}
+
+int
+netbsd32_clock_nanosleep(struct lwp *l, const struct netbsd32_clock_nanosleep_args *uap, register_t *retval)
+{
+	/* {
+		clockid_t clock_id;
+		int flags;
+		syscallarg(const netbsd32_timespecp_t) rqtp;
+		syscallarg(netbsd32_timespecp_t) rmtp;
+	} */
+	struct netbsd32_timespec ts32;
+	struct timespec rqt, rmt;
+	int error, error1;
+
+	error = copyin(SCARG_P32(uap, rqtp), &ts32, sizeof(ts32));
+	if (error)
+		return (error);
+	netbsd32_to_timespec(&ts32, &rqt);
+
+	error = nanosleep1(l, SCARG(uap, clock_id), SCARG(uap, flags),
+	    &rqt, SCARG_P32(uap, rmtp) ? &rmt : NULL);
+	if (SCARG_P32(uap, rmtp) == NULL || (error != 0 && error != EINTR))
+		return error;
+
+	netbsd32_from_timespec(&rmt, &ts32);
+	error1 = copyout(&ts32, SCARG_P32(uap, rmtp), sizeof(ts32));
 	return error1 ? error1 : error;
 }
 

Index: src/sys/compat/netbsd32/syscalls.master
diff -u src/sys/compat/netbsd32/syscalls.master:1.95 src/sys/compat/netbsd32/syscalls.master:1.96
--- src/sys/compat/netbsd32/syscalls.master:1.95	Sun Apr  8 07:27:44 2012
+++ src/sys/compat/netbsd32/syscalls.master	Mon Oct  1 21:44:28 2012
@@ -1,4 +1,4 @@
-	$NetBSD: syscalls.master,v 1.95 2012/04/08 11:27:44 martin Exp $
+	$NetBSD: syscalls.master,v 1.96 2012/10/02 01:44:28 christos Exp $
 
 ;	from: NetBSD: syscalls.master,v 1.81 1998/07/05 08:49:50 jonathan Exp
 ;	@(#)syscalls.master	8.2 (Berkeley) 1/13/94
@@ -1030,3 +1030,12 @@
 				const netbsd32_posix_spawnattrp attrp, \
 				netbsd32_charpp argv, netbsd32_charpp envp); }
 
+475	UNIMPL		{ int|netbsd32||recvmmsg(int s, struct mmsghdr *mmsg, \
+			    unsigned int vlen, unsigned int flags, \
+			    netbsd32_timespecp_t timeout); }
+476	UNIMPL		{ int|netbsd32||sendmmsg(int s, struct mmsghdr *mmsg, \
+			    unsigned int vlen, unsigned int flags); }
+477	STD 		{ int|netbsd32||clock_nanosleep(\
+			    netbsd32_clockid_t clock_id, \
+			    int flags, const netbsd32_timespecp_t rqtp, \
+			    netbsd32_timespecp_t rmtp); }

Index: src/sys/kern/kern_time.c
diff -u src/sys/kern/kern_time.c:1.174 src/sys/kern/kern_time.c:1.175
--- src/sys/kern/kern_time.c:1.174	Thu Mar 22 13:46:07 2012
+++ src/sys/kern/kern_time.c	Mon Oct  1 21:44:28 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: kern_time.c,v 1.174 2012/03/22 17:46:07 dholland Exp $	*/
+/*	$NetBSD: kern_time.c,v 1.175 2012/10/02 01:44:28 christos Exp $	*/
 
 /*-
  * Copyright (c) 2000, 2004, 2005, 2007, 2008, 2009 The NetBSD Foundation, Inc.
@@ -61,7 +61,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: kern_time.c,v 1.174 2012/03/22 17:46:07 dholland Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kern_time.c,v 1.175 2012/10/02 01:44:28 christos Exp $");
 
 #include <sys/param.h>
 #include <sys/resourcevar.h>
@@ -303,7 +303,35 @@ sys___nanosleep50(struct lwp *l, const s
 	if (error)
 		return (error);
 
-	error = nanosleep1(l, &rqt, SCARG(uap, rmtp) ? &rmt : NULL);
+	error = nanosleep1(l, CLOCK_MONOTONIC, 0, &rqt,
+	    SCARG(uap, rmtp) ? &rmt : NULL);
+	if (SCARG(uap, rmtp) == NULL || (error != 0 && error != EINTR))
+		return error;
+
+	error1 = copyout(&rmt, SCARG(uap, rmtp), sizeof(rmt));
+	return error1 ? error1 : error;
+}
+
+/* ARGSUSED */
+int
+sys_clock_nanosleep(struct lwp *l, const struct sys_clock_nanosleep_args *uap,
+    register_t *retval)
+{
+	/* {
+		syscallarg(clockid_t) clock_id;
+		syscallarg(int) flags;
+		syscallarg(struct timespec *) rqtp;
+		syscallarg(struct timespec *) rmtp;
+	} */
+	struct timespec rmt, rqt;
+	int error, error1;
+
+	error = copyin(SCARG(uap, rqtp), &rqt, sizeof(struct timespec));
+	if (error)
+		return (error);
+
+	error = nanosleep1(l, SCARG(uap, clock_id), SCARG(uap, flags), &rqt,
+	    SCARG(uap, rmtp) ? &rmt : NULL);
 	if (SCARG(uap, rmtp) == NULL || (error != 0 && error != EINTR))
 		return error;
 
@@ -312,21 +340,27 @@ sys___nanosleep50(struct lwp *l, const s
 }
 
 int
-nanosleep1(struct lwp *l, struct timespec *rqt, struct timespec *rmt)
+nanosleep1(struct lwp *l, clockid_t clock_id, int flags, struct timespec *rqt,
+    struct timespec *rmt)
 {
 	struct timespec rmtstart;
 	int error, timo;
 
+	if ((error = clock_gettime1(clock_id, &rmtstart)) != 0)
+		return ENOTSUP;
+
+	if (flags & TIMER_ABSTIME)
+		timespecsub(rqt, &rmtstart, rqt);
+
 	if ((error = itimespecfix(rqt)) != 0)
 		return error;
 
 	timo = tstohz(rqt);
 	/*
-	 * Avoid inadvertantly sleeping forever
+	 * Avoid inadvertently sleeping forever
 	 */
 	if (timo == 0)
 		timo = 1;
-	getnanouptime(&rmtstart);
 again:
 	error = kpause("nanoslp", true, timo, NULL);
 	if (rmt != NULL || error == 0) {
@@ -334,7 +368,7 @@ again:
 		struct timespec t0;
 		struct timespec *t;
 
-		getnanouptime(&rmtend);
+		(void)clock_gettime1(clock_id, &rmtend);
 		t = (rmt != NULL) ? rmt : &t0;
 		timespecsub(&rmtend, &rmtstart, t);
 		timespecsub(rqt, t, t);

Index: src/sys/kern/syscalls.master
diff -u src/sys/kern/syscalls.master:1.260 src/sys/kern/syscalls.master:1.261
--- src/sys/kern/syscalls.master:1.260	Fri Jun 22 14:26:35 2012
+++ src/sys/kern/syscalls.master	Mon Oct  1 21:44:28 2012
@@ -1,4 +1,4 @@
-	$NetBSD: syscalls.master,v 1.260 2012/06/22 18:26:35 christos Exp $
+	$NetBSD: syscalls.master,v 1.261 2012/10/02 01:44:28 christos Exp $
 
 ;	@(#)syscalls.master	8.2 (Berkeley) 1/13/94
 
@@ -938,3 +938,6 @@
 			    struct timespec *timeout); }
 476	STD		{ int|sys||sendmmsg(int s, struct mmsghdr *mmsg, \
 			    unsigned int vlen, unsigned int flags); }
+477	STD 		{ int|sys||clock_nanosleep(clockid_t clock_id, \
+			    int flags, const struct timespec *rqtp, \
+			    struct timespec *rmtp); }

Index: src/sys/sys/param.h
diff -u src/sys/sys/param.h:1.419 src/sys/sys/param.h:1.420
--- src/sys/sys/param.h:1.419	Fri Aug 31 20:27:12 2012
+++ src/sys/sys/param.h	Mon Oct  1 21:44:29 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: param.h,v 1.419 2012/09/01 00:27:12 matt Exp $	*/
+/*	$NetBSD: param.h,v 1.420 2012/10/02 01:44:29 christos Exp $	*/
 
 /*-
  * Copyright (c) 1982, 1986, 1989, 1993
@@ -63,7 +63,7 @@
  *	2.99.9		(299000900)
  */
 
-#define	__NetBSD_Version__	699001100	/* NetBSD 6.99.11 */
+#define	__NetBSD_Version__	699001200	/* NetBSD 6.99.12 */
 
 #define __NetBSD_Prereq__(M,m,p) (((((M) * 100000000) + \
     (m) * 1000000) + (p) * 100) <= __NetBSD_Version__)

Index: src/sys/sys/timevar.h
diff -u src/sys/sys/timevar.h:1.31 src/sys/sys/timevar.h:1.32
--- src/sys/sys/timevar.h:1.31	Tue Feb 21 10:41:24 2012
+++ src/sys/sys/timevar.h	Mon Oct  1 21:44:29 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: timevar.h,v 1.31 2012/02/21 15:41:24 martin Exp $	*/
+/*	$NetBSD: timevar.h,v 1.32 2012/10/02 01:44:29 christos Exp $	*/
 
 /*
  *  Copyright (c) 2005, 2008 The NetBSD Foundation.
@@ -165,7 +165,8 @@ int	ppsratecheck(struct timeval *, int *
 int	ratecheck(struct timeval *, const struct timeval *);
 void	realtimerexpire(void *);
 int	settime(struct proc *p, struct timespec *);
-int	nanosleep1(struct lwp *l, struct timespec *, struct timespec *);
+int	nanosleep1(struct lwp *, clockid_t, int, struct timespec *,
+	    struct timespec *);
 int	settimeofday1(const struct timeval *, bool,
 	    const void *, struct lwp *, bool);
 int	timer_create1(timer_t *, clockid_t, struct sigevent *, copyin_t,

Reply via email to