summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkazu <kazu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-10-20 07:49:34 +0000
committerkazu <kazu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-10-20 07:49:34 +0000
commita4c4560f323a8c82e761ac29da7716ae072fb43d (patch)
treef16f41f8536dfe074988388a6d181176ffa284fc
parent8449f4992b9eee9a4948a90a24faa47c59d7f0db (diff)
Reset primary_server when remove_server
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65214 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--lib/drb/drb.rb5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/drb/drb.rb b/lib/drb/drb.rb
index a20ee1f143..6da8c5f6a7 100644
--- a/lib/drb/drb.rb
+++ b/lib/drb/drb.rb
@@ -1866,6 +1866,11 @@ module DRb
# Removes +server+ from the list of registered servers.
def remove_server(server)
@server.delete(server.uri)
+ mutex.synchronize do
+ if @primary_server == server
+ @primary_server = nil
+ end
+ end
end
module_function :remove_server