diff options
| author | Jack Nagel | 2014-03-29 10:23:43 -0500 |
|---|---|---|
| committer | Jack Nagel | 2014-03-29 10:23:43 -0500 |
| commit | fcb9c4d5fbac1f48f56de3f41b1126fe1d7f7307 (patch) | |
| tree | 680ceb852fab9b4b5c97e36dc95bda1292371297 /Library | |
| parent | 809c804499f16ed3a2c07a1b7eeddd4fc271eef2 (diff) | |
| download | brew-fcb9c4d5fbac1f48f56de3f41b1126fe1d7f7307.tar.bz2 | |
Future-proof the build process fork/wait
Diffstat (limited to 'Library')
| -rw-r--r-- | Library/Homebrew/formula_installer.rb | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/Library/Homebrew/formula_installer.rb b/Library/Homebrew/formula_installer.rb index b38c44687..cf6e28903 100644 --- a/Library/Homebrew/formula_installer.rb +++ b/Library/Homebrew/formula_installer.rb @@ -490,7 +490,7 @@ class FormulaInstaller # to remain open in the child process. args << { write => write } if RUBY_VERSION >= "2.0" - fork do + pid = fork do begin read.close exec(*args) @@ -501,9 +501,9 @@ class FormulaInstaller end end - ignore_interrupts(:quietly) do # the fork will receive the interrupt and marshall it back + ignore_interrupts(:quietly) do # the child will receive the interrupt and marshal it back write.close - Process.wait + Process.wait(pid) data = read.read read.close raise Marshal.load(data) unless data.nil? or data.empty? |
