Forum Webscript.Ru

Программирование => Perl => Тема начата: от 01 Октября 2001, 16:44:54

Название: Flock
Отправлено: от 01 Октября 2001, 16:44:54
Нужно заблокировать файл. Подходят ли следующие две функции:

sub setLock
{
open(F,">sem.sem");
flock(F,LOCK_EX);
}

sub relLock
{
flock(F,LOCK_UN);
close(F);
}

Или нет?
Название: Flock
Отправлено: от 02 Октября 2001, 22:15:38
Подходят, я использую для блокирования:
flock(F,2);

А разблокируется файл автоматически после  
close F;
Название: Flock
Отправлено: Чужой от 04 Октября 2001, 22:46:41
Подходят если в начале скрипта стоит строка
use Fcntl ":flock";
Это чтобы Perl четко знал что такое LOCK_EX и какое значение эта переменная имеет для данной ОС.
Название: Flock
Отправлено: от 09 Октября 2001, 17:55:11
С Perl5 использование
use Fcntl ":flock";
для этого уже необязательно
Название: Flock
Отправлено: street law от 17 Января 2002, 05:06:04
Блокировка всегда будет выключатся автоматически после закрытия файла
close (F);