Skip to content

Commit

Permalink
shorten stale_age for cachefile lock (#51175)
Browse files Browse the repository at this point in the history
  • Loading branch information
IanButterworth committed Sep 12, 2023
1 parent 431e0bd commit 4af6be8
Showing 1 changed file with 4 additions and 2 deletions.
6 changes: 4 additions & 2 deletions base/loading.jl
Original file line number Diff line number Diff line change
Expand Up @@ -2968,11 +2968,13 @@ global parse_pidfile_hook
compilecache_pidfile_path(pkg::PkgId) = compilecache_path(pkg, UInt64(0); project="") * ".pidfile"

# Allows processes to wait if another process is precompiling a given source already.
# The lock file is deleted and precompilation will proceed after `stale_age` seconds if
# The lock file mtime will be updated when held every `stale_age/2` seconds.
# After `stale_age` seconds beyond the mtime of the lock file, the lock file is deleted and
# precompilation will proceed if
# - the locking process no longer exists
# - the lock is held by another host, since processes cannot be checked remotely
# or after `stale_age * 25` seconds if the process does still exist.
function maybe_cachefile_lock(f, pkg::PkgId, srcpath::String; stale_age=300)
function maybe_cachefile_lock(f, pkg::PkgId, srcpath::String; stale_age=10)
if @isdefined(mkpidlock_hook) && @isdefined(trymkpidlock_hook) && @isdefined(parse_pidfile_hook)
pidfile = compilecache_pidfile_path(pkg)
cachefile = invokelatest(trymkpidlock_hook, f, pidfile; stale_age)
Expand Down

0 comments on commit 4af6be8

Please sign in to comment.