/tools/Ruby/lib/ruby/site_ruby/1.8/rubygems/package/f_sync_dir.rb

http://github.com/agross/netopenspace · Ruby · 23 lines · 10 code · 6 blank · 7 comment · 1 complexity · 6c0e354c95c706710fca1502e085d549 MD5 · raw file

  1. # -*- coding: utf-8 -*-
  2. #--
  3. # Copyright (C) 2004 Mauricio Julio Fernández Pradier
  4. # See LICENSE.txt for additional licensing information.
  5. #++
  6. module Gem::Package::FSyncDir
  7. private
  8. ##
  9. # make sure this hits the disc
  10. def fsync_dir(dirname)
  11. dir = open dirname, 'r'
  12. dir.fsync
  13. rescue # ignore IOError if it's an unpatched (old) Ruby
  14. ensure
  15. dir.close if dir rescue nil
  16. end
  17. end