From d59fbbf6c8768acc0530fe0766ff246bdb827054 Mon Sep 17 00:00:00 2001 From: Peter Wemm Date: Sun, 5 Apr 1998 11:17:19 +0000 Subject: [PATCH] If there is no error code, don't copyout the remaining time. (As documented in the man page and the standards). (and besides, nanosleep1 isn't setting it in this case at present anyway, so we'd be copying junk). --- sys/kern/kern_time.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/kern/kern_time.c b/sys/kern/kern_time.c index 49b7afbf1d0..b8da9b080b9 100644 --- a/sys/kern/kern_time.c +++ b/sys/kern/kern_time.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)kern_time.c 8.1 (Berkeley) 6/10/93 - * $Id: kern_time.c,v 1.47 1998/04/05 07:31:44 peter Exp $ + * $Id: kern_time.c,v 1.48 1998/04/05 10:28:01 phk Exp $ */ #include @@ -255,7 +255,7 @@ nanosleep(p, uap) if (!useracc((caddr_t)SCARG(uap, rmtp), sizeof(rmt), B_WRITE)) return (EFAULT); error = nanosleep1(p, &rqt, &rmt); - if (SCARG(uap, rmtp)) { + if (error && SCARG(uap, rmtp)) { error2 = copyout(&rmt, SCARG(uap, rmtp), sizeof(rmt)); if (error2) /* XXX shouldn't happen, did useracc() above */ return (error2); @@ -296,7 +296,7 @@ signanosleep(p, uap) error = nanosleep1(p, &rqt, &rmt); - if (SCARG(uap, rmtp)) { + if (error && SCARG(uap, rmtp)) { error2 = copyout(&rmt, SCARG(uap, rmtp), sizeof(rmt)); if (error2) /* XXX shouldn't happen, did useracc() above */ return (error2);