# File lib/lockfile.rb, line 497
    def create(path)
      umask = nil 
      f = nil
      begin
        umask = File.umask 022
        f = open path, File::WRONLY|File::CREAT|File::EXCL, 0644
      ensure
        File.umask umask if umask
      end
      return(block_given? ? begin; yield f; ensure; f.close; end : f)
    end