
10 Jan
2007
10 Jan
'07
1:22 p.m.
Taral wrote:
For a read-only operation, this shouldn't matter, however on some platforms an open file handle can prevent deletion of the file.
You'd be referring to Windows, then, where you can't rename or remove a file if someone has opened it. A partial defence against this is to pass FILE_SHARE_DELETE to CreateFile, if your Haskell runtime is using the win32 file API. The semantics are a bit strange, but it's less hostile than the default behaviour. If your favourite runtime is going through stdio, you're stuck (the strong-stomached can use CreateFile, then turn the handle into a FILE*, but this behaves peculiarly).