Releases: Azure/m
Fix win32 platform race with filesystem::load, add m/pil
This release adds the Platform Isolation Library, which adds an abstraction layer between code and the underlying platform.
The initial release focuses on the Windows system registry, so it's rather Windows focused but in the future it will include filesystem features and be more platform neutral.
Also included is a fix for a race with m::filesystem::load() on win32 when a file changes size while loading.
Make set thread description adaptive to old Windows versions
Older Windows versions that didn't have the SetThreadDescription and GetThreadDescription APIs exposed by kernel32 / WindowsBase will block clients that use m::thread_description from running on, for example, Windows Server 2016 which is a requirement.
This release makes thread description code adaptive.
Make filesystem watcher compatible with Windows Server 2016
Remove the use of ReadDirectoryChangesExW to allow the filesystem watcher to load on Windows Server 2016, an unfortunately critical scenario.
Fix build of vcpkg based project
Fix how an ADO based project might build this project if it were released and consumed via vcpkg.
In theory. :-)
There needs to be some way to test this prior to making a release, but as far as I can tell, the only way to get a package consumable from ADO is to create a release / pre-release.
Quick update to fix m_googletest to include(GoogleTest)
v0.0.25 Add "include(GoogleTest)" to CMakeLists.txt for the m_googletest library
Stress tests added for filesystem monitor
v0.0.24 Start stress testing on filesystem monitors
Add API for thread description management to integrate into threadpool tasks
Add thread description management api
- needs std::vformat integration
Move m::dbg_format support (m/debugging) out of windows-only
Introduing Win32 Filesystem Monitors etc
Add m::filesystem::monitor for win32 filesystem change monitoring
also m::threadpool for beginning access to the win32 threadpool, currently to create timers, non-periodic.
Linux support is mostly stubbed out right now. Will get to it later.
There is inode monitoring support in Linux (all? some?) but will start with periodic monitoring. The win32 case needs to handle periodic checksum based monitoring also which is not there.
If directory is not present, it's up to the client to decide how long to wait before trying again.
Really, lots of content.