summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2016-08-26 10:06:24 +0000
committerkib <kib@FreeBSD.org>2016-08-26 10:06:24 +0000
commitf9f7a3e5fc08e0f695494068aafa282cc7e6ea5a (patch)
tree6f47a41d0d86517d6ae593d92edeba9f3cd754b2
parent5eaf5813abcaf71c35e1006aab0a861cd104f3aa (diff)
downloadFreeBSD-src-f9f7a3e5fc08e0f695494068aafa282cc7e6ea5a.zip
FreeBSD-src-f9f7a3e5fc08e0f695494068aafa282cc7e6ea5a.tar.gz
MFC r303388:
Remove Giant from settime().
-rw-r--r--sys/kern/kern_time.c8
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);
}
OpenPOWER on IntegriCloud