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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Victor Wagner                        2:5020/400     05 May 2003  16:07:57
 To : "Serg Chervjakov"
 Subject : Re: Движок
 -------------------------------------------------------------------------------- 
 
 Serg Chervjakov <serg@enseza.elcom.ru> wrote:
 
 SC> -----
 SC> Two potentially non-obvious but traditional `flock' semantics
 SC> are that it waits indefinitely until the lock is granted, and
 SC> -----
 SC> Это означает, что если я делаю flock(DATA) (DATA - мой стандартный хэндл),
 SC> то прога остановится, пока файл не будет разблокирован? А надо ли его при
 SC> этом
 
 Если его кто-то уже заблокировал. По умолчанию файл разблокирован.
 
 SC> предварительно блокировать этим же flock? Просто хоть у меня и есть две спец
 SC> функции (getfile,printfile), но в самих этих функциях работа с файлами очень
 SC> нетривиальна (кроме того, что они считывают и записывают - делают еще кучу
 SC> операций). Потому мне не очень хотелось бы в один прекрасный момент
 SC> заблокировать файл, а потом перед завершением функции забыть его
 SC> разблокировать:). Да и наконец... правильно ли я понял:
 SC> LOCK_SH - блокирует файл
 
 Lock Shared. То есть позволяет любому другому процессу тоже
 заблокировать этот же файл. Hо не дает получить Exclusive lock.
 SC> LOCK_EX - не въехал (исключительный LOCK) - это случайно не то самое, что
 
 Lock Exclusive - не дает никакому другому процессу получить никакую
 другую блокировку.
 
 Обычное применение следующее:
 
 Если ты хочешь файл читать, и не хочешь чтобы кто-то под носом у тебя
 его изменил, ты просишь shared блокировку. При этом любой другой
 желающий почитать ее тоже может попросить и получит. 
 
 Если ты хочешь файл писать, то происи эксклюзивную (исключительную) блокировку.
 Если ее тебе дали, это значит что никто другой не держит в данны момент
 ни shared, ни exclusive блокировку (и не получит, пока LOCK_EX держишь
 ты),
 
 SC> необходимо, что б прога вошла в режим ожидания?
 
 Чтобы она вошла в режим ожидания, нужно чтобы кто-то другой держал
 несовместимую блокировку. EXCLUSIVE несовместима ни с кем, на то она и
 EXCLUSIVE, а SHARED совместима только с другой SHARED.
 
 SC> LOCK_UN - снимает последнюю наложенную блокировку.
 -- 
 --- 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/15178a6a394a6.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional