summaryrefslogtreecommitdiff
path: root/lib/rubygems/package/f_sync_dir.rb
blob: e15035ec37e02f785ac1e35ec5295fb744657461 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# -*- coding: iso-8859-1 -*-
#++
# Copyright (C) 2004 Mauricio Julio Fernández Pradier
# See LICENSE.txt for additional licensing information.
#--

module Gem::Package::FSyncDir

  private

  ##
  # make sure this hits the disc

  def fsync_dir(dirname)
    dir = open dirname, 'r'
    dir.fsync
  rescue # ignore IOError if it's an unpatched (old) Ruby
  ensure
    dir.close if dir rescue nil
  end

end