summaryrefslogtreecommitdiff
path: root/lib/drb/extservm.rb
diff options
context:
space:
mode:
authorko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2006-12-31 15:02:22 +0000
committerko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2006-12-31 15:02:22 +0000
commita3e1b1ce7ed7e7ffac23015fc2fde56511b30681 (patch)
tree7b725552a9a4ded93849ca2faab1b257f7761790 /lib/drb/extservm.rb
parent3e7566d8fb5138bb9cd647e5fdefc54fc9803509 (diff)
* Merge YARV
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11439 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/drb/extservm.rb')
-rw-r--r--lib/drb/extservm.rb20
1 files changed, 12 insertions, 8 deletions
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