switch to posix-spawn for jruby

This commit is contained in:
David Dollar
2012-01-22 18:39:20 -05:00
parent 7a25d3ac5a
commit 9cc0afca49
4 changed files with 12 additions and 4 deletions
+4
View File
@@ -2,6 +2,10 @@ source "http://rubygems.org"
gemspec
platform :jruby do
gem "posix-spawn", "~> 0.3.6"
end
group :development do
gem 'parka'
gem 'rake'
+2
View File
@@ -24,6 +24,7 @@ GEM
crack
rest-client
thor
posix-spawn (0.3.6)
rake (0.9.2.2)
rcov (0.9.8)
rcov (0.9.8-java)
@@ -57,6 +58,7 @@ DEPENDENCIES
fakefs (~> 0.3.2)
foreman!
parka
posix-spawn (~> 0.3.6)
rake
rcov (~> 0.9.8)
ronn
+2 -2
View File
@@ -19,8 +19,8 @@ Gem::Specification.new do |gem|
gem.add_dependency 'term-ansicolor', '~> 1.0.7'
gem.add_dependency 'thor', '>= 0.13.6'
if RUBY_PLATFORM == "java" || ENV["JRUBY"]
gem.add_dependency "spoon", "~> 0.0.1"
if ENV["JRUBY"]
gem.add_dependency "posix-spawn", "~> 0.3.6"
gem.platform = Gem::Platform.new("java")
end
end
+4 -2
View File
@@ -34,8 +34,10 @@ private
reader, writer = IO.pipe
command = replace_command_env(command)
pid = if jruby?
require "spoon"
Spoon.spawnp Foreman.runner, "-d", basedir, command
require "posix/spawn"
POSIX::Spawn.spawn(Foreman.runner, "-d", basedir, command, {
:out => writer, :err => writer
})
else
fork do
trap("INT", "IGNORE")