| Whatever start time we record, I think the idea was to not purge unless some (yet-to-be-determined) amount of time has passed, where we're confident the compile would be finished. We considered recording when the compile has finished, but that definitely creates a race condition if we do the check while a compile is in progress and hasn't recorded its end time yet. But I think you're right that we didn't consider the case where we do the time check and then a compile starts before the code dir is actually purged.. We did decide that we'd always keep version n-1, where version n is the most recent for a given environment, in the hopes that this would minimize the chance that we'd purge a version that was still being used. Does that seem sane to you? |