[Xfce4-commits] <eatmonkey:aria2-xml-rpc> Replace Process.spawn with Process.fork+exec

Mike Massonnet noreply at xfce.org
Thu Feb 4 23:28:03 CET 2010


Updating branch refs/heads/aria2-xml-rpc
         to a679cdb045e602129bbbf4854d6059e504555e87 (commit)
       from d35a1aa05deee57ab86abb78f2a94a972622fdfd (commit)

commit a679cdb045e602129bbbf4854d6059e504555e87
Author: Mike Massonnet <mmassonnet at xfce.org>
Date:   Thu Feb 4 12:43:57 2010 +0100

    Replace Process.spawn with Process.fork+exec

 src/eataria2.rb |   13 +++++++++++--
 1 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/src/eataria2.rb b/src/eataria2.rb
index 6c6fcf2..22eede6 100644
--- a/src/eataria2.rb
+++ b/src/eataria2.rb
@@ -127,8 +127,17 @@ class Eat::Aria2 < GLib::Object
 					"--enable-xml-rpc --xml-rpc-listen-port=#{@port} " \
 					"--conf-path=#{@confdir}/aria2.conf --log=#{@confdir}/aria2.log --log-level=notice " \
 					"--dht-file-path=#{@confdir}/dht.dat"
-				@@pid = Process.spawn(command, :pgroup=>true, :chdir=>ENV['HOME'],
-						STDOUT=>"/dev/null", STDIN=>"/dev/null")
+				##Ruby 1.8.x
+				@@pid = fork do
+					FileUtils.chdir(ENV['HOME'])
+					STDOUT.reopen('/dev/null')
+					STDIN.reopen('/dev/null')
+					Process.setpgid(0, 0)
+					exec command
+				end
+				##Ruby 1.9.x
+				#@@pid = Process.spawn(command, :pgroup=>true, :chdir=>ENV['HOME'],
+				#		STDOUT=>"/dev/null", STDIN=>"/dev/null")
 				Process.detach(@@pid)
 				debug("started server", command, @@pid)
 				# Wait for the server to respond properly to requests



More information about the Xfce4-commits mailing list