Conversation
Added basic Windows file lock support
- Renamed WinOverlapped to SoilWinOverlappedStruct - Renamed WindowsFileLockTest to SoilWindowsFileLockTest - Removed unused fdatasync methods from BinaryFileStream extension
Added basic Windows file lock support
… isXXX testing methods and we can move more platform dependent code (ffi calls) to the corresponding platform class
Refactor platform sync
Add windows build
|
@mumez Great! I've merged Marcus PR and I added to #destroy that it makes sure the database is closed before destroying. Now we have only 22 tests failing and different errors. Maybe you can figure those out? |
|
I think the other failures are more related to Soil's internal file handling behavior. I'll investigate this step by step. |
|
In CI, we observe many 'CannotDeleteFileException' failures. This error class is somewhat confusing, but the root cause is opening the same path in write mode on Windows. Here is the code to reproduce the issue. stream1 := SoilLockableStream path: 'same-path'.
stream2 := SoilLockableStream path: 'same-path'.This code runs without errors on Mac/Linux, but raises a CannotDeleteFileException on Windows (actually indicating file lock error). |
|
@mumez A short note. I did not forget about this. We are busy and try to prepare a v4 release soon. The windows locking goes after that. I've created a read-only support milestone that should cover the topics in here meaning stream improvements and hopefully remove the incompatibilities for windows |
This is the integration PR for windows file locking