Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Yuriy Kaminskiy                      2:5020/517.21  31 May 2001  18:10:12
 To : Konstantin Tokar
 Subject : Re: Расскажите, как нормально дедается блокирование файла
 -------------------------------------------------------------------------------- 
 
  Hello,  Konstantin! 
 
 >>>>> On 11:05 30/5/2001, tokar@apmsun.mpei.ac.ru writes:
  KT> Вот пример из документации по DB_File. Я примерно так (с каким-то
  KT> косметическим изменением) делал. Хотя я бы пару раз подумал - а стоит ли
  KT> писать в один и тот же файл разным скриптам - задержки могут быть, и
  KT> неразбериха.
 
  Хрр. А теперь идем читать perldoc от не слишком старого DB_File (к
 примеру, идущего с perl-5.6.0 - $DB_File::VERSION=1.72), почему это
 _не будет_ работать (hint: во время tie... в память читается начальный
 блок базы; если он будет изменен между tie и flock - oops).
  Варианты - либо пользоваться Berkeley DB 2.x и use BerkeleyDB (в них
 локи встроенные), либо пользоваться модулями
 Tie::DB_Lock/Tie::DB_LockFile/DB_File::Lock - см. perldoc DB_File.
 
  KT> sub LOCK_SH { 1 }
  KT> sub LOCK_EX { 2 }
  KT> sub LOCK_NB { 4 }
  KT> sub LOCK_UN { 8 }
 
  Hу, про это уже сказали - use Fcntl qw(:flock);
 
  KT> $db->sync;  # to flush
  KT> sleep 10;
 
  sleep тут - как пятое колесо телеге.
 
  KT> flock(DB_FH, LOCK_UN);
 
 -- 
 Yuriy Kaminskiy.
 --- Gnus v5.2.25/XEmacs 19.14
  * Origin: none (2:5020/517.21@fidonet)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: Расскажите, как нормально дедается блокирование файла   Yuriy Kaminskiy   31 May 2001 18:10:12 
Архивное /ru.perl/1742729dca2d4.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional