Re: [ccache] PATCH: Look at include files' mtimes

2012-05-22 Thread Martin Pool
On 22 May 2012 12:00, Justin Lebar justin.le...@gmail.com wrote:
 I've been burned by mtime only checking before as
 (excluding some recent file systems) mtime has a resolution
 only down to one second.

 I tried to address this in the patch, although come to think of it, I
 did it wrong.

 The trick is only to *cache* mtimes that are at least one second older
 than now.  Then the resolution of the clock isn't a problem.

Better to do 2 seconds, since FAT (and maybe some other Windows
related setups) has only a 2-second resolution.

The other thing you can do is, on Unix, use the latest of ctime and
mtime, which should catch cases where the mtime gets reset.

 But if the system clock is set back (e.g. by NTP), we're in trouble.

That's true, but it's a pretty bad idea to make large time steps on a
build machine...

 And hardlinks are often created without bumping the inode's mtime,
 which is also problematic.  (It's problematic for make, too.)

ctime will catch that.
-- 
Martin
___
ccache mailing list
ccache@lists.samba.org
https://lists.samba.org/mailman/listinfo/ccache


Re: [ccache] PATCH: Look at include files' mtimes

2012-05-22 Thread Justin Lebar
 Better to do 2 seconds, since FAT (and maybe some other Windows
 related setups) has only a 2-second resolution.

 The other thing you can do is, on Unix, use the latest of ctime and
 mtime, which should catch cases where the mtime gets reset.

Thanks for the tips!

I'm happy to update the patch, but I'd first want to hear Joel's thoughts.

-Justin
___
ccache mailing list
ccache@lists.samba.org
https://lists.samba.org/mailman/listinfo/ccache