diff options
author | kib <kib@FreeBSD.org> | 2016-08-26 10:06:24 +0000 |
---|---|---|
committer | kib <kib@FreeBSD.org> | 2016-08-26 10:06:24 +0000 |
commit | f9f7a3e5fc08e0f695494068aafa282cc7e6ea5a (patch) | |
tree | 6f47a41d0d86517d6ae593d92edeba9f3cd754b2 | |
parent | 5eaf5813abcaf71c35e1006aab0a861cd104f3aa (diff) | |
download | FreeBSD-src-f9f7a3e5fc08e0f695494068aafa282cc7e6ea5a.zip FreeBSD-src-f9f7a3e5fc08e0f695494068aafa282cc7e6ea5a.tar.gz |
MFC r303388:
Remove Giant from settime().
-rw-r--r-- | sys/kern/kern_time.c | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/sys/kern/kern_time.c b/sys/kern/kern_time.c index c04aa30..10557b5 100644 --- a/sys/kern/kern_time.c +++ b/sys/kern/kern_time.c @@ -120,9 +120,7 @@ settime(struct thread *td, struct timeval *tv) struct timeval delta, tv1, tv2; static struct timeval maxtime, laststep; struct timespec ts; - int s; - s = splclock(); microtime(&tv1); delta = *tv; timevalsub(&delta, &tv1); @@ -152,10 +150,8 @@ settime(struct thread *td, struct timeval *tv) printf("Time adjustment clamped to -1 second\n"); } } else { - if (tv1.tv_sec == laststep.tv_sec) { - splx(s); + if (tv1.tv_sec == laststep.tv_sec) return (EPERM); - } if (delta.tv_sec > 1) { tv->tv_sec = tv1.tv_sec + 1; printf("Time adjustment clamped to +1 second\n"); @@ -166,10 +162,8 @@ settime(struct thread *td, struct timeval *tv) ts.tv_sec = tv->tv_sec; ts.tv_nsec = tv->tv_usec * 1000; - mtx_lock(&Giant); tc_setclock(&ts); resettodr(); - mtx_unlock(&Giant); return (0); } |