[fpc-pascal] Websocket

Roger Olsson roger.olsson at gmail.com
Thu Sep 10 17:20:35 CEST 2026


Hi Sven,

The patch is now verified on both Linux and Windows using your latest test:

    Main harness: 12 passed, 0 failed, 0 hung, 0 crashed
    --pump-first: passed
    --interrupt-race: passed
    Windows blocked plain/TLS termination: approximately 125 ms
    Windows synchronized callback termination: 16 ms

payload delivered=0 and error 10058 are expected: shutdown won the race,
and the client was correctly marked inactive, unregistered, and notified
exactly once.


So the previous 9/9 patch contained four real issues that are now resolved:

    Scenario 10: Terminate now services CheckSynchronize while waiting.
    Scenario 11: disconnects are notified one at a time, so callbacks
cannot invalidate queued pointers.
    Scenario 12: a later callback exception cannot discard an earlier
pending disconnect.
    Interrupt race: one atomic state now both claims and publishes the
interruption.
    --pump-first: added the missing Notification override.
    The existing inherited Create(aOwner) correction remains included.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-pascal/attachments/20260910/e441a8a4/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fpc-websocket-safe-shutdown-cancelioex-v3.patch
Type: application/octet-stream
Size: 17487 bytes
Desc: not available
URL: <http://lists.freepascal.org/pipermail/fpc-pascal/attachments/20260910/e441a8a4/attachment-0001.obj>


More information about the fpc-pascal mailing list