mirror of
https://github.com/ZoneMinder/zoneminder.git
synced 2026-10-02 15:35:09 -04:00
perf: skip stream socket fan-out work when no consumers connected
The stream socket is intended to be served unconditionally for every monitor, so the idle path must cost nothing: - SendMedia returns after counting the sequence when no clients are connected: no packet reference, no message allocation, no wake. Keyframes are still cached (one refcounted clone per GOP) so the first consumer to connect renders immediately. - The poll loop blocks indefinitely instead of waking 10x/s when no clients are connected; it wakes on connection or shutdown. Tests: existing [stream_socket] suite covers both paths (the late-joiner test exercises keyframe caching with zero clients). Full suite: 98/98 pass via ctest. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
500 Internal Server Error
Gitea Version: 1.28.0+dev-477-g8b6ad49a5f