From 3b50b2df0b163d8019ecab503bdf0d1d2f5a1fa0 Mon Sep 17 00:00:00 2001 From: Valentin Churavy Date: Wed, 1 Aug 2018 18:50:34 -0700 Subject: [PATCH] [Distributed] don't sidestep require logic (#26813) --- stdlib/Distributed/src/Distributed.jl | 2 +- stdlib/Distributed/test/distributed_exec.jl | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/stdlib/Distributed/src/Distributed.jl b/stdlib/Distributed/src/Distributed.jl index b5809df3980e1..71b71af1c4caf 100644 --- a/stdlib/Distributed/src/Distributed.jl +++ b/stdlib/Distributed/src/Distributed.jl @@ -74,7 +74,7 @@ function _require_callback(mod::Base.PkgId) @sync for p in procs() p == 1 && continue @async remotecall_wait(p) do - Base._require(mod) + Base.require(mod) nothing end end diff --git a/stdlib/Distributed/test/distributed_exec.jl b/stdlib/Distributed/test/distributed_exec.jl index 5e14b9b40ba8a..1482a3713d078 100644 --- a/stdlib/Distributed/test/distributed_exec.jl +++ b/stdlib/Distributed/test/distributed_exec.jl @@ -18,6 +18,23 @@ include(joinpath(Sys.BINDIR, "..", "share", "julia", "test", "testenv.jl")) addprocs_with_testenv(4) @test nprocs() == 5 +# distributed loading of packages + +# setup +@everywhere begin + old_act_proj = Base.ACTIVE_PROJECT[] + pushfirst!(Base.LOAD_PATH, "@") + Base.ACTIVE_PROJECT[] = joinpath(Sys.BINDIR, "..", "share", "julia", "test", "TestPkg") +end + +@everywhere using TestPkg +@everywhere using TestPkg + +@everywhere begin + Base.ACTIVE_PROJECT[] = old_act_proj + popfirst!(Base.LOAD_PATH) +end + @everywhere using Test, Random, LinearAlgebra id_me = myid()