Merge branch '0-9-6-regression'
This commit is contained in:
commit
02fe7b6a9a
|
@ -14,6 +14,11 @@
|
||||||
- Fix issue where starting a VM on some systems was incorrectly treated
|
- Fix issue where starting a VM on some systems was incorrectly treated
|
||||||
as failing. [GH-720]
|
as failing. [GH-720]
|
||||||
|
|
||||||
|
## 0.9.7 (February 9, 2012)
|
||||||
|
|
||||||
|
- Fix regression where all subprocess IO simply didn't work with
|
||||||
|
Windows. [GH-721]
|
||||||
|
|
||||||
## 0.9.6 (February 7, 2012)
|
## 0.9.6 (February 7, 2012)
|
||||||
|
|
||||||
- Fix strange issue with inconsistent childprocess reads on JRuby. [GH-711]
|
- Fix strange issue with inconsistent childprocess reads on JRuby. [GH-711]
|
||||||
|
|
|
@ -64,6 +64,14 @@ module Vagrant
|
||||||
# Make sure the stdin does not buffer
|
# Make sure the stdin does not buffer
|
||||||
process.io.stdin.sync = true
|
process.io.stdin.sync = true
|
||||||
|
|
||||||
|
if RUBY_PLATFORM != "java"
|
||||||
|
# On Java, we have to close after. See down the method...
|
||||||
|
# Otherwise, we close the writers right here, since we're
|
||||||
|
# not on the writing side.
|
||||||
|
stdout_writer.close
|
||||||
|
stderr_writer.close
|
||||||
|
end
|
||||||
|
|
||||||
# Create a dictionary to store all the output we see.
|
# Create a dictionary to store all the output we see.
|
||||||
io_data = { :stdout => "", :stderr => "" }
|
io_data = { :stdout => "", :stderr => "" }
|
||||||
|
|
||||||
|
@ -136,11 +144,12 @@ module Vagrant
|
||||||
yield io_name, extra_data if block_given?
|
yield io_name, extra_data if block_given?
|
||||||
end
|
end
|
||||||
|
|
||||||
# Close the writer pipes. Note that we do this so late (after the process
|
if RUBY_PLATFORM == "java"
|
||||||
# has quit) to work around an issue with childprocess and JRuby. It is
|
# On JRuby, we need to close the writers after the process,
|
||||||
# bizarre but it works.
|
# for some reason. See GH-711.
|
||||||
stdout_writer.close
|
stdout_writer.close
|
||||||
stderr_writer.close
|
stderr_writer.close
|
||||||
|
end
|
||||||
|
|
||||||
# Return an exit status container
|
# Return an exit status container
|
||||||
return Result.new(process.exit_code, io_data[:stdout], io_data[:stderr])
|
return Result.new(process.exit_code, io_data[:stdout], io_data[:stderr])
|
||||||
|
|
Loading…
Reference in New Issue