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.

Attachment: fpc-websocket-safe-shutdown-cancelioex-v3.patch
Description: Binary data

_______________________________________________
fpc-pascal maillist  -  [email protected]
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to