That was my first thought too, except that the problem goes away once you OK out of Edit metadata.
Here is a bit from a procmon log:
Code:
18:12:07.7208513 calibre.exe 3556 1812 CreateFile foo.epub ACCESS DENIED Desired Access: Generic Read/Write, Disposition: Open, Options: Synchronous IO Non-Alert, Non-Directory File, Attributes: N, ShareMode: Read, Write, AllocationSize: n/a
18:12:14.6419783 calibre.exe 3556 1812 CreateFile foo.epub SUCCESS Desired Access: Generic Read, Disposition: Open, Options: Synchronous IO Non-Alert, Non-Directory File, Attributes: N, ShareMode: Read, Write, AllocationSize: n/a, OpenResult: Opened
18:12:07: Calibre tries to open the file with read/write when I click the Info button (Set meta data for the book from the selected format), this fails as some other process already has a write lock. I OK out of Edit metadata, go back in, and then press Info button again. This now works (18:12:14) as Calibre only wants a read lock this time.
Some other process has definitely got a lock on the file. If I exit Calibre and try and open the same file from Sigil I get the same error when I save. I have not been able to work out what is locking the file--procexp is no help.
But I am a little puzzled why the Info button in Calibre Edit metadata takes a read/write lock the first time and later just a read lock? The file is external to the Calibre database, so I would expect it to only use a read lock.
Thanks for your patience.