podivne chovani roury volane z perlu, zavirani souboru,...

Pavel Kankovsky peak na argo.troja.mff.cuni.cz
Neděle Listopad 11 19:01:41 CET 2001


On Tue, 6 Nov 2001, Martin Povolny wrote:

>     my $pipe = new IO::Pipe;
>     $pipe->writer("$Conf::fsa_path/fsa_ubuild -N -o $out_file") 
> pak do roury chvili zapisuji...
> a nasledne ji zavru
>     my $ret = $pipe->close();
[...]
> bohuzel jen vetsinou, nekdy (pri vetsich datech) se mi stane, ze
> soubor nelze otevrit ani po one sleep smycce,
> nebo dokonce, ze funkce "load_dict" projde, ale knihovna nasledne nepracuje
> spravne (soubor je ale i v tomto pripade vytvoren 100% spravne)

To nejspis znamena, ze po provedeni $pipe->close stale jeste neni hotovy
proces, co ma soubor $out_file vytvorit (bud je to tak, ze IO:Pipe::close
neudela wait, nebo se fsa_ubuild forkne a vysledky zapisuje nejaky jeho
potomek). A protoze ho asi vytvari neatomicky (a mozna i pomalu), tak i
obcas stane, ze soubor sice existuje, ale jeste neni cely.

--Pavel Kankovsky aka Peak  [ Boycott Microsoft--http://www.vcnet.com/bms ]
"Resistance is futile. Open your source code and prepare for assimilation."



Další informace o konferenci Linux