Closed KoltesDigital closed 1 year ago
Hi @KoltesDigital, looks to be safe and not breaking other build environment so ✔️ Thanks for the fix and for your work in rust!
Thanks! Another step forward 🙂
Dokany's CICD only builds on MSVC, whereas the Rust lib also builds on MinGW 64 and 32. Do you think it'd be worth to add these targets to Dokany? This may be beneficial to other languages.
What are the reasons your rebuilding the library ? Dynamically loading the MSVC library is not enough?
I've inherited the Rust CICD, and that was in there. See here for all build combinations. On one hand it's already there so let's keep it, on the other hand it's unexpectedly taking me quite some time to adapt to Dokan 2 and we can imagine it will be a burden in the future as well.
Besides, on MSVC, on rare occurrences, tests fail for unknown reason. For instance, FindFirstStreamW
might return INVALID_HANDLE_VALUE
, or SetFileTime
might return FALSE
. I suspect bad timings, even if test payloads are executed after DokanCreateFileSystem
succeeded and the file system handler's mount
has been called. I'll add a call to GetLastError
in the assert message to have more clues. In the meantime, have you already encountered this behavior?
I've inherited the Rust CICD
I can understand! If later this might change, I would suggest to just have the release zip downloaded and use the headers and binaries.
or instance, FindFirstStreamW might return INVALID_HANDLE_VALUE, or SetFileTime might return FALSE
Are you capable of reproducing it locally or is it only on the CICD ? If it is local, Procmon could be very helpful to find out when and why this happens. Or try to enable console debug log.
This occurred only on very few runs, only on the CICD. Good idea, I've enabled debug logs on the CICD. Latest runs succeeded, but hopefully we'll soon catch these gravitational waves.
Checklist
Changes proposed in this pull request:
Still upgrading the Rust bindings to 2.0.5...
Compilation on MinGW32 produces these errors:
I just made what I was told!