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 - тогда открыть не получится, если файл
уже создан.

Best regards,
Sergey Aleynikov
--
Moscow.pm mailing list
[email protected] | http://moscow.pm.org

Ответить