This should be p.now, not reading the clock.  I think your intent was to read the clock at the start of the entire iteration, and then use that single timestamp for all subdirectories.  Here you are updating the clock within each subdirectory as the TreeWalk recurses into them, but then you aren't updating it when we pop back out and evaluate another file in the parent directory.  That's somewhat inconsistent timestamp behavior.