Skip to content

Commit

Permalink
add require_lock call to maybe_loaded_precompile (JuliaLang#56027)
Browse files Browse the repository at this point in the history
If we expect this to be a public API
(https://github.com/timholy/Revise.jl for some reason is trying to
access this state), we should lock around it for consistency with the
other similar functions.

Needed for timholy/Revise.jl#856
  • Loading branch information
vtjnash authored Oct 7, 2024
1 parent d4987a3 commit 4cdd864
Showing 1 changed file with 2 additions and 1 deletion.
3 changes: 2 additions & 1 deletion base/loading.jl
Original file line number Diff line number Diff line change
Expand Up @@ -2397,12 +2397,13 @@ const module_keys = IdDict{Module,PkgId}() # the reverse of loaded_modules
root_module_key(m::Module) = @lock require_lock module_keys[m]

function maybe_loaded_precompile(key::PkgId, buildid::UInt128)
assert_havelock(require_lock)
@lock require_lock begin
mods = get(loaded_precompiles, key, nothing)
mods === nothing && return
for mod in mods
module_build_id(mod) == buildid && return mod
end
end
end

function module_build_id(m::Module)
Expand Down

0 comments on commit 4cdd864

Please sign in to comment.