From 95e0a58ecc9c5fbd500edcef16f9ba63b37f1f63 Mon Sep 17 00:00:00 2001 From: Jameson Nash Date: Mon, 7 Oct 2024 10:30:15 -0400 Subject: [PATCH] add require_lock call to maybe_loaded_precompile 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. --- base/loading.jl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/base/loading.jl b/base/loading.jl index 4eac272848baf..fe4a4770628da 100644 --- a/base/loading.jl +++ b/base/loading.jl @@ -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)