What changed
Corrects the unlock logic in TIcuLibrary.SharedUcnvGet(). The previous code mistakenly released a converter-specific lock instead of the main library lock after populating the converter cache.
Impact
Prevents deadlocks when multiple threads request text converters from the ICU library simultaneously.
Upgrade recommendedPull this commit if your server relies heavily on ICU internationalization functions.
What changed
Restores the TRTLCriticalSection fallback for TOSLightLock on platforms without native futex or pthread_mutex support, like Android and Delphi POSIX. The previous commits inadvertently broke this fallback.
Impact
Applications running on Android or compiled with Delphi for POSIX will compile and run correctly again. No impact on Windows or FPC Linux.
What changed
Moves the runtime loading of API-MS-Win-Core-Synch-l1-2-0.dll to happen after the OS version has been properly populated into OSVersion32.
Impact
Resolves a bug where the new futex API was not initialized correctly on modern Windows versions because the version check failed at initialization time.
What changed
Updates TAsyncConnections.ThreadPollingWakeupLocked to check for <= 0 instead of exactly 0 when inspecting spare events.
Impact
Prevents potential out-of-range errors or negative event counters from causing issues in the async polling thread loop.