Fri Jun 12 21:35:12 2020: Request 132811 was acted upon. Transaction: Correspondence added by ralf.neuba...@wido.bv.aok.de Queue: PAR-Packer Subject: RE: [rt.cpan.org #132811] Win32: Crash a week after start Broken in: (no value) Severity: (no value) Owner: Nobody Requestors: ralf.neuba...@wido.bv.aok.de Status: open Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=132811 >
Hi. > This is related to https://rt.cpan.org/Public/Bug/Display.html?id=101800 Yes and no. _CANARY_.txt exists and the directory will be repopulated on the next start of the program, so there is no problem except having to unpack the files again between runs of the program. My problem on the other hand is, that I start the program and the files are deleted while it is running. My crude protection scheme (locking all of the files -- 3500 files in my case, which only works with Windows file handles since Perl only gets the 2048 file handles implemented by the Windows libc) only protects the files while the program is running, so _CANARY_.txt is still needed (and there is a short time window at the start of the program, inbetween starting the unpacking and locking the files, where files could still vanish if you are unlucky enough to have cleanmgr.exe run at exactly the same time. Using a non-temp-directory would solve both problems but carries some problems on its own, see original message. Declaring %TEMP% to be a non-temp directory sounds strange. Raising the existence interval only makes it less bad, but doesn't solve it. Also you have to have administrator privilege for both. I also thought about keeping the files fresh by manipulating their timestamps, that also doesn't really solve it, but reflects the truth that the files have been used very recently. The would be easy but time-consuming on startup (and make _CANARY_.txt obsolete). To solve the runtime problems you would have to spawn a parallel job to keep the files fresh every couple of hours. In essence, the reason is the same, but I don't see a simultaneous solution for both aspects that doesn't require user oder administrator input. Mit freundlichen Grüßen Ralf