|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Serg Chervjakov 2:5020/400 05 May 2003 15:26:03 To : Igor Zinkovsky Subject : Движок -------------------------------------------------------------------------------- Mon May 05 2003 01:13, Igor Zinkovsky wrote to Serg Chervjakov: IZ> I hail you, Serg SC>> Точно - напомнил. Все хотел спросить. Если два скрипта одновременно SC>> пытются считывать/записывать что-либо в файл/из файла, то может SC>> произойти так, что файл в итоге окажется пустым? IZ> Юзай flock() Почитал perldoc -f flock, появился вопрос: ----- Two potentially non-obvious but traditional `flock' semantics are that it waits indefinitely until the lock is granted, and ----- Это означает, что если я делаю flock(DATA) (DATA - мой стандартный хэндл), то прога остановится, пока файл не будет разблокирован? А надо ли его при этом предварительно блокировать этим же flock? Просто хоть у меня и есть две спец функции (getfile,printfile), но в самих этих функциях работа с файлами очень нетривиальна (кроме того, что они считывают и записывают - делают еще кучу операций). Потому мне не очень хотелось бы в один прекрасный момент заблокировать файл, а потом перед завершением функции забыть его разблокировать:). Да и наконец... правильно ли я понял: LOCK_SH - блокирует файл LOCK_EX - не въехал (исключительный LOCK) - это случайно не то самое, что необходимо, что б прога вошла в режим ожидания? LOCK_UN - снимает последнюю наложенную блокировку. --- ifmail v.2.15dev5 * Origin: FidoNet Online - http://www.fido-online.com (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/16679eb31ce7f.html, оценка из 5, голосов 10
|