profile library should check high-resolution timestamps if available
authorKen Raeburn <raeburn@mit.edu>
Sun, 13 Mar 2005 07:34:23 +0000 (07:34 +0000)
committerKen Raeburn <raeburn@mit.edu>
Sun, 13 Mar 2005 07:34:23 +0000 (07:34 +0000)
commitcc823ff1f9ccab035fed4ff424917390ef4abe5b
tree25696dd3f948f6e7eb7be69498ed2c24e499422b
parente367185cfec3c867f9b99602354308d4efa26531
profile library should check high-resolution timestamps if available

With the current profile code, it's possible for a file to be read when
partially written, with the writing of the new file contents being completed
within the same 1-second clock value, causing the profile code not to re-read
the contents.  Using a higher-resolution timestamp, available on many systems
now, should help reduce that window.  (Checking file sizes should also,
consider doing that separately.)

* configure.in: Check struct stat for fields st_mtimensec,
st_mtimespec.tv_nsec, and st_mtim.tv_usec.
* prof_file.c (profile_update_file_data): If one of them is found, use it as
the fractional part of the timestamp.  Do re-read the file if the fractional
parts don't match.
* prof_int.h (struct _prf_data_t): Add new field frac_ts.

ticket: new
status: open

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17121 dc483132-0cff-0310-8789-dd5450dbe970
src/util/profile/ChangeLog
src/util/profile/configure.in
src/util/profile/prof_file.c
src/util/profile/prof_int.h