22.03.2010 13:02, Sergey Aleynikov пишет:
Hello,$lockfile = "/var/tmp/pradm_memcached_config_load.lock"; if(!-f $lockfile) { print STDERR "$$ Creating lock file\n"; open OUT,">$lockfile" or die "Cannot write to $lockfile $!"; print OUT $$; close OUT; $lock = 1; }Поздравляю, у вас race между -f и "open OUT". Да ещё и print, чтобы race'y было проще сработать :) Посмотрите на cpan'e, там точно есть что-либо. Правильный алгоритм - это либо открыть, попробовать сделать flock() - получилось, наш файл. Либо создавать файл с O_EXCL - тогда открыть не получится, если файл уже создан.
хм. ну лан. щаз попробую flock заюзать. может поможет. Спасиб. -- Moscow.pm mailing list [email protected] | http://moscow.pm.org
