Skip to content

Commit 3b7cb0e

Browse files
authored
Merge pull request #2171 from SmartThingsCommunity/fix/ssdp-sonos-resource-starvation-bug
2 parents 3f04c23 + 04034fa commit 3b7cb0e

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

drivers/SmartThings/sonos/src/api/sonos_ssdp_discovery.lua

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ local function make_persistent_task_impl(
9696

9797
for _, receiver in ipairs(recv_ready) do
9898
if receiver == interval_timer then
99+
interval_timer:handled()
99100
ssdp_search_handle:multicast_m_search()
100101
elseif receiver == control_rx then
101102
---@type ControlMessage?,string?
@@ -298,16 +299,19 @@ function sonos_ssdp.spawn_persistent_ssdp_task()
298299
event_bus:send(info_to_send)
299300
local mac_addr = utils.extract_mac_addr(info_to_send.discovery_info.device)
300301
local waiting_handles = task_handle.waiting_for_unique_key[unique_key] or {}
302+
301303
log.debug(st_utils.stringify_table(waiting_handles, "waiting for unique keys", true))
302-
for _, v in pairs(task_handle.waiting_for_unique_key[mac_addr] or {}) do
304+
for _, v in pairs(task_handle.waiting_for_mac_addr[mac_addr] or {}) do
303305
table.insert(waiting_handles, v)
304306
end
307+
305308
log.debug(
306309
st_utils.stringify_table(waiting_handles, "waiting for unique keys and mac addresses", true)
307310
)
308311
for _, reply_tx in ipairs(waiting_handles) do
309312
reply_tx:send(info_to_send)
310313
end
314+
311315
task_handle.waiting_for_unique_key[unique_key] = {}
312316
task_handle.waiting_for_mac_addr[mac_addr] = {}
313317
end

0 commit comments

Comments
 (0)