diff options
| author | Max Howell | 2012-08-23 12:47:36 -0400 |
|---|---|---|
| committer | Max Howell | 2012-08-29 12:41:36 -0400 |
| commit | d89b3272f441ebdc71d0ffb0448dd1c364f1ca52 (patch) | |
| tree | 0689b1c1d86e700217a4a782dbe4ff01fdbd8576 /Library/Homebrew/extend/fileutils.rb | |
| parent | 336c4d1b05df9db2e13ffe88607f5e44493f3b8f (diff) | |
| download | brew-d89b3272f441ebdc71d0ffb0448dd1c364f1ca52.tar.bz2 | |
Ensure mktemp cleans up after itself
Ignore interrupts.
Diffstat (limited to 'Library/Homebrew/extend/fileutils.rb')
| -rw-r--r-- | Library/Homebrew/extend/fileutils.rb | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/Library/Homebrew/extend/fileutils.rb b/Library/Homebrew/extend/fileutils.rb index 355829720..691fbdcd2 100644 --- a/Library/Homebrew/extend/fileutils.rb +++ b/Library/Homebrew/extend/fileutils.rb @@ -14,16 +14,11 @@ module FileUtils extend self # /tmp volume to the other volume. So we let the user override the tmp # prefix if they need to. tmp_prefix = ENV['HOMEBREW_TEMP'] || '/tmp' - tmp=Pathname.new `/usr/bin/mktemp -d #{tmp_prefix}/homebrew-#{name}-#{version}-XXXX`.strip - raise "Couldn't create build sandbox" if not tmp.directory? or $? != 0 - begin - wd=Dir.pwd - chdir tmp - yield - ensure - chdir wd - tmp.rmtree - end + tmp = Pathname.new(`/usr/bin/mktemp -d #{tmp_prefix}/homebrew-#{name}-#{version}-XXXX`.chomp) + raise "Failed to create sandbox: #{tmp}" unless tmp.directory? + cd(tmp){ yield } + ensure + ignore_interrupts{ tmp.rmtree } if tmp end # A version of mkdir that also changes to that folder in a block. |
