in reply to waiting until a file updates...

You could open a socket pair before forking, then have the parent wait on the reader handle for the child to write something into the writer handle. With alarm or select you can implement a timeout doing so.

Makeshifts last the longest.