<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"><channel>
  <title>mORMot2 Daily</title>
  <link>https://mormot2daily.fsb.dev</link>
  <description>Daily read of upstream commits</description>
  <language>en</language>
  <lastBuildDate>Sat, 29 Aug 2026 06:58:21 +0000</lastBuildDate>
  <item>
    <title>2026-08-29 — Native futex for TOSLightLock and ICU deadlock fix</title>
    <link>https://mormot2daily.fsb.dev/edition/2026-08-29.html</link>
    <guid isPermaLink="false">mormot2-daily-2026-08-29</guid>
    <pubDate>Sat, 29 Aug 2026 07:00:00 +0000</pubDate>
    <description>&lt;p&gt;Today&amp;#x27;s commits bring a major evolution to the mORMot 2 core synchronization primitives. TOSLightLock now leverages native futex on Linux and WaitOnAddress on Windows 8+, promising significant contention performance gains. In addition, an ICU library deadlock was fixed and the async networking polling got a boundary check.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;TOSLightLock uses native futex on Linux and WaitOnAddress on Windows 8+.&lt;/li&gt;&lt;li&gt;TIcuLibrary fixes a deadlock during shared converter creation.&lt;/li&gt;&lt;li&gt;TAsyncConnections fixes a potential out-of-range bug in thread polling.&lt;/li&gt;&lt;li&gt;Adaptive spin-wait mechanisms are extracted to the core base unit.&lt;/li&gt;&lt;/ul&gt;</description>
  </item>
  <item>
    <title>2026-08-28 — Thread wake-up goes lockless, and two API moves worth grepping for</title>
    <link>https://mormot2daily.fsb.dev/edition/2026-08-28.html</link>
    <guid isPermaLink="false">mormot2-daily-2026-08-28</guid>
    <pubDate>Fri, 28 Aug 2026 07:00:00 +0000</pubDate>
    <description>&lt;p&gt;Today is mostly about the asynchronous server core. The thread-wakeup path used by every async HTTP, WebSocket and TFTP server drops its lock in favour of two atomic counters, which should show up as less contention on busy multi-core boxes. Around that, two smaller changes deserve a grep through your own code: TOrmTable.GetAsVariant and ToDocVariant changed their parameter from out to var, and the mORMot 1 compatibility function Lecuyer moved to another unit. Everything else is internal cleanup.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Async server thread wake-up is now lockless: two CAS counters replace the TLightLock that guarded acoThreadSmooting.&lt;/li&gt;&lt;li&gt;TOrmTable.GetAsVariant and TOrmTable.ToDocVariant now take var instead of out — the destination variant is no longer cleared for you.&lt;/li&gt;&lt;li&gt;The legacy Lecuyer function moved from mormot.core.base to mormot.crypt.core and now returns the shared ThreadRandom generator.&lt;/li&gt;&lt;li&gt;TLoggedThread gained an ExecuteDone property, standing in for the RTL Finished property on older compilers.&lt;/li&gt;&lt;li&gt;The TFTP server compiles again on Delphi 7 and 2007 after last week&amp;#x27;s worker-lifetime fix.&lt;/li&gt;&lt;/ul&gt;</description>
  </item>
  <item>
    <title>2026-08-27 — 26 commits landed upstream</title>
    <link>https://mormot2daily.fsb.dev/edition/2026-08-27.html</link>
    <guid isPermaLink="false">mormot2-daily-2026-08-27</guid>
    <pubDate>Thu, 27 Aug 2026 07:00:00 +0000</pubDate>
    <description>&lt;p&gt;This edition has not been reviewed yet: the entries below are classified automatically from commit messages and diffs, without an editorial pass. Treat the categories as hints and follow the commit links for the truth.&lt;/p&gt;</description>
  </item>
</channel></rss>
