Ruby/File Directory/lock

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

(Различия между версиями)
Перейти к: навигация, поиск
м (1 версия: Импорт выборки материалов по Ruby)
 

Текущая версия на 17:57, 13 сентября 2010

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