[Tilesathome] tilesathome rmtree issue on Windows

Ed Loach ed at loach.me.uk
Wed Sep 3 15:09:26 BST 2008


Rmtree in method cleanup in tileset.pm (line 765 in the version I have here) fails on Windows (at least on the Vista and XP machines I've tried here) because the split_*.png files are locked until the client exits.

I've used ProcessMonitor to try and work out what is happening. Inkscape is creating the files and closing them. Perl is then reading the file and not closing it.

Looking at the Perl code, I'm wondering about svg2png, and in particular the last line

return ($FullSplitPngFile, ""); #return success

The comments at the top of the method suggest that the first parameter should be 0 or 1. I don't know Perl (as I'm sure I'll say many times) but it looks like we're at least returning the file name (with path), or perhaps even the file itself (which might explain why ProcessMonitor shows the file being read and not closed?).

I'd like the rmtree line to work, and more importantly I'd like files that are finished with to not be locked so I can delete them if I want, and not knowing enough Perl to be sure of the cause is annoying. Can anyone comment on whether my thoughts above are close? As an afterthough I feel that if the files are being left open then the reason things start failing on my machine and my wife's machine after a few tiles may be related to resources being used.

Thanks

Ed






More information about the Tilesathome mailing list