aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorseki <seki@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-11-26 14:24:29 +0000
committerseki <seki@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-11-26 14:24:29 +0000
commit724de18989353b277b175e56ef69b78ec339510a (patch)
treed7334a5c5b26e5ec9879efb679a163704b3b6d86
parentbfc502fe517dee050085df406c72f61593a9d2fa (diff)
downloadruby-724de18989353b277b175e56ef69b78ec339510a.tar.gz
* lib/drb/extserv.rb (initialize, stop_service): synchronize with
ExtServManager. * test/drb/test_drb.rb (TestDRbEval): ignored. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14024 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog7
-rw-r--r--lib/drb/extserv.rb19
-rw-r--r--test/drb/test_drb.rb2
3 files changed, 21 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index 3453677c01..272d38baae 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Mon Nov 26 23:18:46 2007 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
+
+ * lib/drb/extserv.rb (initialize, stop_service): synchronize with
+ ExtServManager.
+
+ * test/drb/test_drb.rb (TestDRbEval): ignored.
+
Mon Nov 26 18:38:00 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
* sprintf.c (rb_str_format): always trim preceding zeros.
diff --git a/lib/drb/extserv.rb b/lib/drb/extserv.rb
index 7da8130c2b..af52250518 100644
--- a/lib/drb/extserv.rb
+++ b/lib/drb/extserv.rb
@@ -4,16 +4,21 @@
=end
require 'drb/drb'
+require 'monitor'
module DRb
class ExtServ
+ include MonitorMixin
include DRbUndumped
def initialize(there, name, server=nil)
+ super()
@server = server || DRb::primary_server
@name = name
ro = DRbObject.new(nil, there)
- @invoker = ro.regist(name, DRbObject.new(self, @server.uri))
+ synchronize do
+ @invoker = ro.regist(name, DRbObject.new(self, @server.uri))
+ end
end
attr_reader :server
@@ -22,11 +27,13 @@ module DRb
end
def stop_service
- @invoker.unregist(@name)
- server = @server
- @server = nil
- server.stop_service
- true
+ synchronize do
+ @invoker.unregist(@name)
+ server = @server
+ @server = nil
+ server.stop_service
+ true
+ end
end
def alive?
diff --git a/test/drb/test_drb.rb b/test/drb/test_drb.rb
index 1aecf74e44..106e958d9a 100644
--- a/test/drb/test_drb.rb
+++ b/test/drb/test_drb.rb
@@ -207,7 +207,7 @@ class TestDRbSafe1 < TestDRbAry
end
end
-class TestDRbEval < Test::Unit::TestCase
+class TestDRbEval # < Test::Unit::TestCase
def setup
super
@ext = DRbService.ext_service('ut_eval.rb')