Dispatcharr/apps/proxy
SergeantPanda 6d7130d71e Bug Fix: fix get_instance deadlock and non-atomic ownership acquisition
If ProxyServer() raises during singleton construction, _instance was left
as _INITIALIZING permanently, causing all subsequent get_instance() callers
to spin in an infinite gevent.sleep() loop. Wrap construction in try/except
and reset _instance to None on failure so callers can retry.

Also replace the non-atomic setnx() + expire() pair in try_acquire_ownership()
with a single atomic SET NX EX call, consistent with the approach already used
in extend_ownership() and eliminating the race window where a crash between the
two calls could leave a key with no TTL (permanent ownership lock).
2026-03-03 11:06:52 -06:00
..
hls_proxy Fixes clients not disconnecting. 2025-03-04 11:08:12 -06:00
management/commands Initial integration. 2025-03-03 18:40:30 -06:00
ts_proxy Bug Fix: fix get_instance deadlock and non-atomic ownership acquisition 2026-03-03 11:06:52 -06:00
vod_proxy Fix: VOD proxy connection counter leaks on client disconnect and seeking 2026-02-17 20:24:00 -06:00
__init__.py Initial integration. 2025-03-03 18:40:30 -06:00
apps.py Fix stream ownership bugs causing streams to die after 30-200s 2026-02-27 16:40:28 +01:00
config.py Enhancement: Update TTL settings for client records and implement periodic refresh during active streaming 2025-10-31 11:53:16 -05:00
signals.py Initial integration. 2025-03-03 18:40:30 -06:00
tasks.py Track VOD connections in Redis. 2025-08-05 21:24:41 -05:00
urls.py Track VOD connections in Redis. 2025-08-05 21:24:41 -05:00
views.py Initial integration. 2025-03-03 18:40:30 -06:00