summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authored <ed@FreeBSD.org>2012-02-10 13:40:32 +0000
committered <ed@FreeBSD.org>2012-02-10 13:40:32 +0000
commita03b3637dd2e41fcbd8ffad45cab4cb1cce4c40a (patch)
tree88bb269cd0f763176f4844bd4983c92e6f0bc0b2 /lib
parent2b4f7a9e8aff3b740995b6d2aff23de6cad7646d (diff)
downloadFreeBSD-src-a03b3637dd2e41fcbd8ffad45cab4cb1cce4c40a.zip
FreeBSD-src-a03b3637dd2e41fcbd8ffad45cab4cb1cce4c40a.tar.gz
Detect file modification properly by using tv_nsec.
POSIX 2008 standardizes st_mtim, meaning we can simply use nanosecond precision to detect file modification. MFC after: 2 weeks
Diffstat (limited to 'lib')
-rw-r--r--lib/libutil/pw_util.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/libutil/pw_util.c b/lib/libutil/pw_util.c
index 5cd27b1..63c63de 100644
--- a/lib/libutil/pw_util.c
+++ b/lib/libutil/pw_util.c
@@ -347,7 +347,8 @@ pw_edit(int notsetuid)
sigprocmask(SIG_SETMASK, &oldsigset, NULL);
if (stat(tempname, &st2) == -1)
return (-1);
- return (st1.st_mtime != st2.st_mtime);
+ return (st1.st_mtim.tv_sec != st2.st_mtim.tv_sec ||
+ st1.st_mtim.tv_nsec != st2.st_mtim.tv_nsec);
}
/*
OpenPOWER on IntegriCloud