diff options
author | jilles <jilles@FreeBSD.org> | 2016-01-12 20:53:57 +0000 |
---|---|---|
committer | jilles <jilles@FreeBSD.org> | 2016-01-12 20:53:57 +0000 |
commit | 67473fa31819055cecbbc0d85892f3ab412e9aff (patch) | |
tree | 1e248ffbdc1d5e30bf80d15147fe927c9a294d62 | |
parent | 33067117d569d0af9ff7609712f723ac6367820b (diff) | |
download | FreeBSD-src-67473fa31819055cecbbc0d85892f3ab412e9aff.zip FreeBSD-src-67473fa31819055cecbbc0d85892f3ab412e9aff.tar.gz |
Update futimens/utimensat for MFC to stable/10:
* Fix __FreeBSD_version check.
* Update history section in man page.
An MFC of this commit to stable/10 will allow using the new system calls
instead of the fallback.
MFC after: 3 days
-rw-r--r-- | lib/libc/sys/futimens.c | 5 | ||||
-rw-r--r-- | lib/libc/sys/utimensat.2 | 4 | ||||
-rw-r--r-- | lib/libc/sys/utimensat.c | 5 |
3 files changed, 10 insertions, 4 deletions
diff --git a/lib/libc/sys/futimens.c b/lib/libc/sys/futimens.c index 2014cc5..59fb37f 100644 --- a/lib/libc/sys/futimens.c +++ b/lib/libc/sys/futimens.c @@ -42,8 +42,11 @@ futimens(int fd, const struct timespec times[2]) { struct timeval now, tv[2], *tvp; struct stat sb; + int osreldate; - if (__getosreldate() >= 1100056) + osreldate = __getosreldate(); + if (osreldate >= 1100056 || + (osreldate >= 1002506 && osreldate < 1100000)) return (__sys_futimens(fd, times)); if (times == NULL || (times[0].tv_nsec == UTIME_NOW && diff --git a/lib/libc/sys/utimensat.2 b/lib/libc/sys/utimensat.2 index 0f397c6..57ad904 100644 --- a/lib/libc/sys/utimensat.2 +++ b/lib/libc/sys/utimensat.2 @@ -31,7 +31,7 @@ .\" @(#)utimes.2 8.1 (Berkeley) 6/4/93 .\" $FreeBSD$ .\" -.Dd January 23, 2015 +.Dd January 12, 2016 .Dt UTIMENSAT 2 .Os .Sh NAME @@ -289,4 +289,4 @@ The and .Fn utimensat system calls appeared in -.Fx 11.0 . +.Fx 10.3 . diff --git a/lib/libc/sys/utimensat.c b/lib/libc/sys/utimensat.c index 67d19cb..a1c3c21 100644 --- a/lib/libc/sys/utimensat.c +++ b/lib/libc/sys/utimensat.c @@ -42,8 +42,11 @@ utimensat(int fd, const char *path, const struct timespec times[2], int flag) { struct timeval now, tv[2], *tvp; struct stat sb; + int osreldate; - if (__getosreldate() >= 1100056) + osreldate = __getosreldate(); + if (osreldate >= 1100056 || + (osreldate >= 1002506 && osreldate < 1100000)) return (__sys_utimensat(fd, path, times, flag)); if ((flag & ~AT_SYMLINK_NOFOLLOW) != 0) { |