Module Name:    src
Committed By:   christos
Date:           Fri Oct  2 19:47:08 UTC 2015

Modified Files:
        src/sys/kern: kern_time.c syscalls.master

Log Message:
PR/50295: clock_nanotime() should not set errno, but return the error.


To generate a diff of this commit:
cvs rdiff -u -r1.180 -r1.181 src/sys/kern/kern_time.c
cvs rdiff -u -r1.278 -r1.279 src/sys/kern/syscalls.master

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

Modified files:

Index: src/sys/kern/kern_time.c
diff -u src/sys/kern/kern_time.c:1.180 src/sys/kern/kern_time.c:1.181
--- src/sys/kern/kern_time.c:1.180	Fri Jul 24 09:02:52 2015
+++ src/sys/kern/kern_time.c	Fri Oct  2 15:47:08 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: kern_time.c,v 1.180 2015/07/24 13:02:52 maxv Exp $	*/
+/*	$NetBSD: kern_time.c,v 1.181 2015/10/02 19:47:08 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.180 2015/07/24 13:02:52 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kern_time.c,v 1.181 2015/10/02 19:47:08 christos Exp $");
 
 #include <sys/param.h>
 #include <sys/resourcevar.h>
@@ -310,15 +310,19 @@ sys_clock_nanosleep(struct lwp *l, const
 
 	error = copyin(SCARG(uap, rqtp), &rqt, sizeof(struct timespec));
 	if (error)
-		return (error);
+		goto out;
 
 	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))
+		goto out;
 		return error;
 
-	error1 = copyout(&rmt, SCARG(uap, rmtp), sizeof(rmt));
-	return error1 ? error1 : error;
+	if ((error1 = copyout(&rmt, SCARG(uap, rmtp), sizeof(rmt))) != 0)
+		error = error1;
+out:
+	*retval = error;
+	return 0;
 }
 
 int

Index: src/sys/kern/syscalls.master
diff -u src/sys/kern/syscalls.master:1.278 src/sys/kern/syscalls.master:1.279
--- src/sys/kern/syscalls.master:1.278	Thu Jun 18 11:16:12 2015
+++ src/sys/kern/syscalls.master	Fri Oct  2 15:47:08 2015
@@ -1,4 +1,4 @@
-	$NetBSD: syscalls.master,v 1.278 2015/06/18 15:16:12 pooka Exp $
+	$NetBSD: syscalls.master,v 1.279 2015/10/02 19:47:08 christos Exp $
 
 ;	@(#)syscalls.master	8.2 (Berkeley) 1/13/94
 
@@ -981,7 +981,7 @@
 			    struct timespec *timeout); }
 476	STD  RUMP	{ int|sys||sendmmsg(int s, struct mmsghdr *mmsg, \
 			    unsigned int vlen, unsigned int flags); }
-477	STD  RUMP	{ int|sys||clock_nanosleep(clockid_t clock_id, \
+477	NOERR	RUMP	{ int|sys||clock_nanosleep(clockid_t clock_id, \
 			    int flags, const struct timespec *rqtp, \
 			    struct timespec *rmtp); }
 478	STD 		{ int|sys|60|_lwp_park(clockid_t clock_id, int flags, \

Reply via email to