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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Yevgeny Manyashev                    2:5020/400     25 Apr 2002  13:55:45
 To : All
 Subject : Проблема при блоки  ровке DBM файла
 -------------------------------------------------------------------------------- 
 
 Программа в цикле пишет статистику в кучу DBM файлов -
 один файл при каждом проходе.
 Проблемы появились при блокировке этих файлов.
 
 Я делаю вот что
 
 Открываю DBM файл
 my $db = tie %data, 'DB_File', "$data_file", O_CREAT|O_RDWR, 0666
     or die "Don't tie to data file $data_file.\n";
 
 Блокирую его
 my $fd = $db->fd;
 open( DB_FH, "+<&=$fd" ) or die "dup $!";
 flock( DB_FH, LOCK_EX ) or "flock: $!";
 
 Пишу данные
 $data{"$foo"} = "$bar";
 
 Затем снимаю блокировку и закрываю файл
 flock(DB_FH, LOCK_UN);
 undef $db;
 untie %data;
 close(DB_FH);
 
 В общем, действую строго по man DB_File.
 
 Потом в цикле точно также обрабатываются
 следующие файлы.
 
 Первый файл обрабатывается нормально,
 при обработке второго вываливается ошибка
     dup Bad file descriptor at ./script.pl line 223.
 (строка open( DB_FH, "+<&=$fd" ) or die "dup $!";)
 
 В чем проблема и как её обойти?
 
 -- 
 
 Best regards.
 
 --- ifmail v.2.15dev5
  * Origin: Sibnet (2:5020/400)
 
 

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

 Тема:    Автор:    Дата:  
 Проблема при блоки ровке DBM файла   Yevgeny Manyashev   25 Apr 2002 13:55:45 
 Re: Проблема при блокировке DBM файла   Konstantin Tokar   25 Apr 2002 14:39:04 
 Re: Проблема при блок ировке DBM файла   Yevgeny Manyashev   26 Apr 2002 05:31:01 
 Re: Проблема при блок ировке DBM файла   Yevgeny Manyashev   26 Apr 2002 07:42:07 
Архивное /ru.perl/3625902c1cc0.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional