Module: rewrite zir caching logic

Multiple processes can sit waiting for the exclusive lock at the same
time, so we want to recheck whether it needs to be updated whenever
we get an exclusive lock.

This also fixes a race condition between one process truncating the
cache file and another process reading it without atomic locking.
e3cf9d1650Jacob Young committed on 3/8/2023, 5:00:52 AM· committed by Andrew Kelleyparent6fc1621
2 files changedLine totals unavailable