From e16e961bab2c4f8ae66c2b19f638c63a48f19ae4 Mon Sep 17 00:00:00 2001 From: akr Date: Sun, 22 Apr 2012 11:35:03 +0000 Subject: * lib/drb/extservm.rb (DRb::ExtServManager): don't use /bin/sh to invoke service subprocess. mark detach threads for clean up. * test/drb/drbtest.rb: clean up the service subprocess in teardown. * test/drb/test_drb.rb: set @service_name for teardown. * test/drb/test_drbunix.rb: ditto. * test/drb/test_drbssl.rb: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35424 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- lib/drb/extservm.rb | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/drb/extservm.rb b/lib/drb/extservm.rb index 216fe8dcee..8a7fc316af 100644 --- a/lib/drb/extservm.rb +++ b/lib/drb/extservm.rb @@ -79,7 +79,15 @@ module DRb @servers[name] = false end uri = @uri || DRb.uri - Process.detach spawn("#{command} #{uri} #{name}") + if command.respond_to? :to_ary + command = command.to_ary + [uri, name] + pid = spawn(*command) + else + pid = spawn("#{command} #{uri} #{name}") + end + th = Process.detach(pid) + th[:drb_service] = name + th end end end -- cgit v1.2.3