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