diff --git a/src/Distributed.jl b/src/Distributed.jl index e0afb433a6f3f..1ab793f44d8ee 100644 --- a/src/Distributed.jl +++ b/src/Distributed.jl @@ -11,7 +11,7 @@ import Base: getindex, wait, put!, take!, fetch, isready, push!, length, # imports for use using Base: Process, Semaphore, JLOptions, AnyDict, buffer_writes, wait_connected, - VERSION_STRING, binding_module, notify_error, atexit, julia_exename, + VERSION_STRING, binding_module, atexit, julia_exename, julia_cmd, AsyncGenerator, acquire, release, invokelatest, shell_escape_posixly, uv_error, something, notnothing, isbuffered diff --git a/src/cluster.jl b/src/cluster.jl index 9ac30c94f0748..2afb376b16e0a 100644 --- a/src/cluster.jl +++ b/src/cluster.jl @@ -1083,12 +1083,12 @@ function deregister_worker(pg, pid) ids = [] tonotify = [] lock(client_refs) do - for (id,rv) in pg.refs - if in(pid,rv.clientset) + for (id, rv) in pg.refs + if in(pid, rv.clientset) push!(ids, id) end if rv.waitingfor == pid - push!(tonotify, (id,rv)) + push!(tonotify, (id, rv)) end end for id in ids @@ -1096,11 +1096,12 @@ function deregister_worker(pg, pid) end # throw exception to tasks waiting for this pid - for (id,rv) in tonotify - notify_error(rv.c, ProcessExitedException()) + for (id, rv) in tonotify + close(rv.c, ProcessExitedException()) delete!(pg.refs, id) end end + return end @@ -1110,6 +1111,7 @@ function interrupt(pid::Integer) if isa(w, Worker) manage(w.manager, w.id, w.config, :interrupt) end + return end """