Fix DASP close deadlock and kit checksum sign display
Use RLock instead of Lock for _close_lock so close() can call _shutdown() without deadlocking — previously the session never marked itself closed, causing infinite keepalive sends. Mask kit checksums to unsigned 32-bit for hex display so negative i4 values render as proper 8-digit hex (e.g. d3984c51 not -2c67b3af). Tested against live device at 192.168.1.251 — full handshake, schema read, and component tree load confirmed working. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1961,7 +1961,7 @@ def _load_live_schema(ds):
|
||||
app_state.final_components_registry.clear()
|
||||
if ds.sox_client and ds.sox_client.schema_parts:
|
||||
for part in ds.sox_client.schema_parts:
|
||||
app_state.active_schema_kits[part.name] = f"{part.checksum:08x}"
|
||||
app_state.active_schema_kits[part.name] = f"{part.checksum & 0xFFFFFFFF:08x}"
|
||||
try:
|
||||
schema.load_schema_kits_and_manifests()
|
||||
except Exception:
|
||||
|
||||
Reference in New Issue
Block a user