From a3e1b1ce7ed7e7ffac23015fc2fde56511b30681 Mon Sep 17 00:00:00 2001 From: ko1 Date: Sun, 31 Dec 2006 15:02:22 +0000 Subject: * Merge YARV git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11439 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- lib/drb/drb.rb | 10 ++++++---- lib/drb/extservm.rb | 20 ++++++++++++-------- 2 files changed, 18 insertions(+), 12 deletions(-) (limited to 'lib/drb') diff --git a/lib/drb/drb.rb b/lib/drb/drb.rb index 9690469e0c..d62fead596 100644 --- a/lib/drb/drb.rb +++ b/lib/drb/drb.rb @@ -578,7 +578,8 @@ module DRb end raise(DRbConnError, 'connection closed') if str.nil? raise(DRbConnError, 'premature marshal format(can\'t read)') if str.size < sz - Thread.exclusive do + # TODO: YARV doesn't have Thread.exclusive + #Thread.exclusive do begin save = Thread.current[:drb_untaint] Thread.current[:drb_untaint] = [] @@ -591,7 +592,7 @@ module DRb end Thread.current[:drb_untaint] = save end - end + #end end def send_request(stream, ref, msg_id, arg, b) # :nodoc: @@ -1741,9 +1742,10 @@ module DRb @server = {} def regist_server(server) @server[server.uri] = server - Thread.exclusive do + # TODO: YARV doesn't have Thread.exclusive + #Thread.exclusive do @primary_server = server unless @primary_server - end + #end end module_function :regist_server diff --git a/lib/drb/extservm.rb b/lib/drb/extservm.rb index 2715c5e9fe..1ede7d6d16 100644 --- a/lib/drb/extservm.rb +++ b/lib/drb/extservm.rb @@ -32,9 +32,10 @@ module DRb def service(name) while true server = nil - Thread.exclusive do + # TODO: YARV doesn't have Thread.exclusive + #Thread.exclusive do server = @servers[name] if @servers[name] - end + #end return server if server && server.alive? invoke_service(name) end @@ -42,11 +43,12 @@ module DRb def regist(name, ro) ary = nil - Thread.exclusive do + # TODO: YARV doesn't have Thread.exclusive + #Thread.exclusive do @servers[name] = ro ary = @waiting @waiting = [] - end + #end ary.each do |th| begin th.run @@ -57,9 +59,10 @@ module DRb end def unregist(name) - Thread.exclusive do + # TODO: YARV doesn't have Thread.exclusive + #Thread.exclusive do @servers.delete(name) - end + #end end private @@ -81,10 +84,11 @@ module DRb def invoke_service_command(name, command) raise "invalid command. name: #{name}" unless command - Thread.exclusive do + # TODO: YARV doesn't have Thread.exclusive + #Thread.exclusive do return if @servers.include?(name) @servers[name] = false - end + #end uri = @uri || DRb.uri Process.detach(Process.spawn("#{command} #{uri} #{name}")) true -- cgit v1.2.3