openwebrx/csdr
Denny Ma 05bbe37322 fix(dab): stop ETI reader and release refcount on shared-mode teardown
Two fixes from code review:

1. Stop _eti_reader in Dablin.stop() (shared mode) — previously the cursor
   remained registered on SharedDabDecoder._eti_buffer after disconnect,
   forcing the buffer to retain data from the disconnected client's position
   until GC. With rapid connect/disconnect cycles this caused transient buffer
   bloat.

2. Release shared decoder refcount in _getDemodulator fallback path — if
   acquire() succeeded but Dablin.__init__ subsequently raised, _dabKey was
   cleared without calling release(), leaking one refcount and preventing the
   shared decoder from ever stopping.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-15 18:32:07 +11:00
..
chain fix(dab): stop ETI reader and release refcount on shared-mode teardown 2026-03-15 18:32:07 +11:00
module pass through programme information 2024-01-24 22:37:20 +01:00
__init__.py remove old csdr code 2021-09-27 18:53:49 +02:00