Skip to content

Commit 1f392db

Browse files
committed
Merge pull request #14166 from JuliaLang/amitm/fixbadref
fix error on exit for an invalid remote reference
2 parents b775873 + d546f9a commit 1f392db

File tree

1 file changed

+2
-8
lines changed

1 file changed

+2
-8
lines changed

base/multi.jl

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -608,11 +608,7 @@ end
608608
function send_del_client(rr)
609609
if rr.where == myid()
610610
del_client(remoteref_id(rr), myid())
611-
else
612-
if in(rr.where, map_del_wrkr)
613-
# for a removed worker, don't bother
614-
return
615-
end
611+
elseif rr.where in procs() # process only if a valid worker
616612
w = worker_from_id(rr.where)
617613
push!(w.del_msgs, (remoteref_id(rr), myid()))
618614
w.gcflag = true
@@ -621,7 +617,6 @@ function send_del_client(rr)
621617
end
622618

623619
function add_client(id, client)
624-
#println("$(myid()) adding client $client to $id")
625620
rv = lookup_ref(id)
626621
push!(rv.clientset, client)
627622
nothing
@@ -636,12 +631,11 @@ end
636631
function send_add_client(rr::AbstractRemoteRef, i)
637632
if rr.where == myid()
638633
add_client(remoteref_id(rr), i)
639-
elseif i != rr.where
634+
elseif (i != rr.where) && (rr.where in procs())
640635
# don't need to send add_client if the message is already going
641636
# to the processor that owns the remote ref. it will add_client
642637
# itself inside deserialize().
643638
w = worker_from_id(rr.where)
644-
#println("$(myid()) adding $((remoteref_id(rr), i)) for $(rr.where)")
645639
push!(w.add_msgs, (remoteref_id(rr), i))
646640
w.gcflag = true
647641
notify(any_gc_flag)

0 commit comments

Comments
 (0)