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


ru.cgi.perl

 
 - RU.CGI.PERL ------------------------------------------------------------------
 From : Artem Chuprina                       2:5020/371.32  07 Aug 2000  13:06:19
 To : dima-pol@mtu-net.ru
 Subject : Re: Блокировка файлов в WIN98
 -------------------------------------------------------------------------------- 
 
 dpmnr> From: "Dmitriy Polahovskiy" <dima-pol@mtu-net.ru>
 
 dpmnr> окружение:
 dpmnr> Win98, сеть Ethernet, WEB cервер - виндусовые Apache и Perl 5.03.
 
 dpmnr> ситуация:
 dpmnr> CGI скрипт читает данные из файла, модифицирует и перезаписывает в
 dpmnr> файл.
 dpmnr> проблема:   Я так понимаю, что перед записью в файл скрипт обязан
 dpmnr> убедиться в том что этот файл уже не открыт для чтения или записи
 dpmnr> другими клиентами а перед чтением - что кто-то уже не пишет в файл.
 dpmnr> При полытке использовать функцию flock выдается сообщение:
 dpmnr> unimplemented on this platform.
 
 dpmnr> вопрос:    Правильно ли я понимаю проблему и  как ее решить?
 
 Правильно. Способа два: сменить platform на ту, на которой implemented (способ
 на самом деле более здравый, чем кажется на первый взгляд - под юниксами перл
 работает не в пример лучше), либо пользоваться лок-файлами, памятуя о том, что
 операция rename атомарна. Впрочем, в этом втором случае тоже надо думать
 головой - под досом нет системного вызова link, зато rename не соглашается
 переименовывать в существующий файл. Под юниксами наоборот. Какова семантика у
 перлового rename под виндой - вопрос сложный...
 
 -- 
 Счастливо!
   Ран.
 --- ifmail v.2.14.os-p7-tma3
  * Origin: MemoNet (2:5020/371.32@fidonet)
 
 

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

 Тема:    Автор:    Дата:  
 Re: Блокировка файлов в WIN98   Artem Chuprina   07 Aug 2000 13:06:19 
Архивное /ru.cgi.perl/34731357a3ea.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional