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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Victor Wagner                        2:5020/400     05 May 2003  19:15:57
 To : "Serg Chervjakov"
 Subject : Re: Движок
 -------------------------------------------------------------------------------- 
 
 Serg Chervjakov <serg@enseza.elcom.ru> wrote:
 
 SC> Ага - потихоньку пошел въезжать:).
 SC> Т.е. для записи это выглдит примерно так:
 
 SC>  open DATA,$filename;
 
 Указание режима доступа забыл. По умолчанию файл на чтение открывается.
 SC>  flock(DATA,LOCK_EX);
 SC>  print DATA $txt;
 SC>  flock(DATA,LOCK_UN);
 SC> #Hо что будет, если другой скрипт начнет писать в это файл именно вот в этот
 SC> #промежуток времени??? Или такого не может быть впринципе?
 
 Локи у нас advisory, то есть нехороший процесс, который не пытается
 файл залочить, может все напортить. Hо если это будет другой процесс,
 который пишет по тому же алгоритму, он встанет на flock(DATA,LOCK_EX)
 и будет ждать, пока первый процесс flock(DATA,LOCK_UN) не скажет.
 После чего получит вожделенную блокировку и сделает свое дело.
 
 SC>  close DATA;
 
 Кстати, close отпускает lock.
 
 SC> И еще, я так понял, если мне лень не забывать делать 
 SC> use Fcntl ':flock';
 SC> То вместо LOCK_SH, LOCK_EX, or LOCK_UN, надо юзать 1, 2, 8?
 
 Лучше  не надо. Притащишь это на другую систему а там взяли и поменяли
 значения этих констант.
 
 SC> И уж что бы совсем полностью разобраться - что такоэ LOCK_NB?
 
 А это - признак того что не надо ждать.
 
 while (1) {
 
 if (flock(DATA,LOCK_EX|LOCK_NB)) {
 # Hам дали lock
   print DATA $something;
   last;
 } else {
 # нам не дали lock, занимаемся пока чем-нибудь другим
 # например обслуживаем GUI
   $mainwindow->update;
 }  
 -- 
 --- ifmail v.2.15dev5
  * Origin: Free Net of Leninsky,45 (2:5020/400)
 
 

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

 Тема:    Автор:    Дата:  
 Движок   Evgeny Stefanenko   04 May 2003 05:42:55 
 Re: Движок   Michael B. Babakov   04 May 2003 09:20:57 
 Движок   Oleg N. Kotenko   04 May 2003 09:46:51 
 Движок   Serg Chervjakov   04 May 2003 22:04:03 
 Движок   Serg Chervjakov   04 May 2003 22:10:38 
 Re: Движок   Konstantin Tokar   04 May 2003 22:17:14 
 Re: Движок   Serg Chervjakov   04 May 2003 22:53:42 
 Re: Движок   Artem Chuprina   05 May 2003 12:42:01 
 Движок   Igor Zinkovsky   05 May 2003 01:13:42 
 Движок   Serg Chervjakov   05 May 2003 15:26:03 
 Re: Движок   Victor Wagner   05 May 2003 16:07:57 
 Re: Движок   Serg Chervjakov   05 May 2003 18:30:34 
 Re: Движок   Victor Wagner   05 May 2003 19:15:57 
 Re: Движок   Artem Chuprina   05 May 2003 19:21:34 
 Движок   Igor Zinkovsky   06 May 2003 05:25:34 
 Движок   Oleg N. Kotenko   05 May 2003 16:38:43 
Архивное /ru.perl/1517871cf15b5.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional