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, \