On Tue Aug 26 14:54:27 2025 +0000, Rémi Bernon wrote:
Well fwiw I'm not sure anymore about the thread safety, like you said it seems it is supposed to be guarded if we consider the Rust projection. OTOH the SDK headers also are apparently quite obviously unsafe at least in the IMap templated implementation. I checked again my tests and it's very possible that the crash I was able to trigger was caused by some overlook on my part (I had a thread wait timeout and perhaps it went past it, releasing the map while threads were still using it). Overall it looks like either PropertySet has a dedicated, safe, IMap implementation, or it adds a lock around every generic unsafe IMap calls (which maybe also require some wrappers around the associated objects).
In that case, we can still use your implementation by guarding access to the entries with an SRWLOCK, right?