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


ru.cgi.perl

 
 - RU.CGI.PERL ------------------------------------------------------------------
 From : Artem Chuprina                       2:5020/371.32  18 Jan 2001  13:00:24
 To : Andrei V. Lisyansky
 Subject : Re: flock
 -------------------------------------------------------------------------------- 
 
 В твоём письме от Tue, 16 Jan 2001 19:02:30 +0300 написано:
 
 AVL>>>  while (-e "lockfile") {sleep(1);} #Вдруг  кто-то уже работает
 AVL>>> с файлом, ждём!
 SG>> 2) и в этот промежуток второй процесс, запустившийся чуть ранее,
 SG>> создает лок-файл
 
 AVL>      Согласен, но  ведь возможно  уменьшение реакции, за счёт значений
 AVL>      менее секунды?
 
 AVL>>> open LOCK, ">lockfile"; close LOCK; #Дождались, создаём
 AVL>>> свой.
 SG>> 3) этот процесс его перезаписывает
 SG>> и далее оба процесса работают с одним и тем же файлом.
 
 AVL>      Мда, решение далеко не претендует  на применение, но  всё же,
 AVL>      реально  же найти  замену flock()?
 
 Реально, но очень геморройно. Ключевые слова - "неразрушающая атомарная
 операция". В юниксах такой является link(), на тех файловых системах, которые
 ее поддерживают (в юниксах исторически та же проблема на NFS - локи работают
 ненадежно), в досе - rename(). В юниксе rename() тоже атомарная, но
 разрушающая, так что следует быть бдительным. И дополнять обработчиками die,
 сигналов, и проверкой кроном залипших флаг-файлов.
 
 -- 
 Artem Chuprina                            E-mail: ran@ran.pp.ru
 Programmer                                  FIDO: 2:5020/371.32
 Memonet Ltd.                             Phone: +7-095-284-1356
 --- slrn/0.9.6.3-as (Linux)
  * Origin: AKA с подствольным плюсомётом (2:5020/371.32)
 
 

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

 Тема:    Автор:    Дата:  
 flock   Andrei V. Lisyansky   13 Jan 2001 19:20:35 
 flock   Sly Golovanov   15 Jan 2001 04:30:41 
 flock   Andrei V. Lisyansky   16 Jan 2001 20:02:30 
 Re: flock   Artem Chuprina   18 Jan 2001 13:00:24 
 Re: flock   Michael Samanov   19 Jan 2001 00:45:51 
 flock   Sly Golovanov   17 Jan 2001 12:31:01 
 flock   Yan Alexandrovsky   15 Jan 2001 08:35:49 
 flock   Andrei V. Lisyansky   16 Jan 2001 19:57:46 
 flock   Yan Alexandrovsky   18 Jan 2001 09:03:00 
 Re: flock   Artem Chuprina   15 Jan 2001 11:31:23 
 flock   Andrei V. Lisyansky   16 Jan 2001 20:10:44 
 Re: flock   Michael Samanov   17 Jan 2001 10:34:28 
Архивное /ru.cgi.perl/72375f71e37c7.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional