Ruby/File Directory/lock

Материал из Wiki.crossplatform.ru

Версия от 17:57, 13 сентября 2010; ViGOur (Обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Locking a File

def flock(file, mode)
  success = file.flock(mode)
  if success
    begin
      yield file
    ensure
      file.flock(File::LOCK_UN)
    end
  end
  return success
end
open("output", "w") do |f|
  flock(f, File::LOCK_EX) do |f|
    f << "Kiss me, I"ve got a write lock on a file!"
  end
end