[Tilesathome] One Windows delete dir bug less!!

spaetz osm at sspaeth.de
Sat Aug 30 16:29:32 BST 2008


There is only one thing that comes to my mind that *could* be suspect.
Try this:

in lib/Tileset.pm we create the tempory Job dir as tempdir around line 40:

    $self->{JobDir} = tempdir(
         sprintf("%d_%d_%d_XXXXX",$self->{req}->ZXY),
         DIR      => $Config->get('WorkingDirectory'),
         CLEANUP  => $delTmpDir,
         );

We try to delete the JobDir in the destructor of "Tileset", the function cleanup() in that file.

The parameter CLEANUP in tempdir means that it should delete the directory if the programs exists. This happens in addition to the regular cleanup() delete (so we are double safe in really deleting it on exit). It might be that it keeps an handle on that directory open from the creation of the tempdir and therefore the rmtree in cleanup() fails.

Try to set CLEANUP => 0 in line 42 and generate a tileset, do you still get the errors? If yes, it should be safe to commit this change.

spaetz



On Sat, Aug 30, 2008 at 04:00:05PM +0200, Maarten Deen wrote:
> spaetz wrote:
> > 13:12 Changeset [10330] properly close the directory opened with readdir.
> > credits go to Christian Ehrlicher
> > 
> > 
> > Deleting the .dir directory should work now. yay! Actually my fault and not
> > window's (just for the record).
> 
> Looks good!
> 
> Other (last?) delete bug left:
> 
> Rendering of captionless in 2 sec
> 
> Can't remove file C:\temp\TaH\12_2138_1378_hAJSt/split-z12-1378.png (Permission 
> denied) at lib/Tileset.pm line 708
> Can't remove file C:\temp\TaH\12_2138_1378_hAJSt/split-z13-2756.png (Permission 
> denied) at lib/Tileset.pm line 708
> ...etc...
> Can't remove file C:\temp\TaH\12_2138_1378_hAJSt/split-z17-44126.png (Permission 
> denied) at lib/Tileset.pm line 708
> Can't remove file C:\temp\TaH\12_2138_1378_hAJSt/split-z17-44127.png (Permission 
> denied) at lib/Tileset.pm line 708
> Can't remove directory C:\temp\TaH\12_2138_1378_hAJSt (Directory not empty) at 
> lib/Tileset.pm line 708
> [#1 100% captionless] if you want to run this program continuously, use loop mode
> [#1 100% captionless] please run "tilesGen.pl upload" now
> 
> Regards,
> Maarten
> 
> _______________________________________________
> Tilesathome mailing list
> Tilesathome at openstreetmap.org
> http://lists.openstreetmap.org/listinfo/tilesathome




More information about the Tilesathome mailing list