diff options
author | 1997-04-23 09:52:03 +0000 | |
---|---|---|
committer | 1997-04-23 09:52:03 +0000 | |
commit | 1b3e51299e1c4d06f1eb43bd659d091f0178c8aa (patch) | |
tree | 146f3ec537850d7411aae87c1f934bbdd6723f79 | |
parent | use daemon() (diff) | |
download | wireguard-openbsd-1b3e51299e1c4d06f1eb43bd659d091f0178c8aa.tar.xz wireguard-openbsd-1b3e51299e1c4d06f1eb43bd659d091f0178c8aa.zip |
In nanosleep, use local error variable when storing rqtp in so that an error
from a failed tsleep will still be returned to the caller; from jtc@NetBSD
-rw-r--r-- | sys/kern/kern_time.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/kern/kern_time.c b/sys/kern/kern_time.c index 149a9ca2ddc..c25a7558ec3 100644 --- a/sys/kern/kern_time.c +++ b/sys/kern/kern_time.c @@ -1,4 +1,4 @@ -/* $OpenBSD: kern_time.c,v 1.6 1997/04/20 20:49:42 tholo Exp $ */ +/* $OpenBSD: kern_time.c,v 1.7 1997/04/23 09:52:03 tholo Exp $ */ /* $NetBSD: kern_time.c,v 1.20 1996/02/18 11:57:06 fvdl Exp $ */ /* @@ -217,6 +217,8 @@ sys_nanosleep(p, v, retval) error = 0; if (SCARG(uap, rmtp)) { + int error; + s = splclock(); utv = time; splx(s); @@ -228,6 +230,8 @@ sys_nanosleep(p, v, retval) TIMEVAL_TO_TIMESPEC(&utv,&rmt); error = copyout((caddr_t)&rmt, (caddr_t)SCARG(uap,rmtp), sizeof(rmt)); + if (error) + return (error); } return error; |