From 6ca46530b2c59d21ec83cb86a2dfc07f1e00f073 Mon Sep 17 00:00:00 2001 From: zachir Date: Sun, 5 Nov 2023 17:13:59 -0600 Subject: Add reset_garbage_collector to sorta fix mem leaks I added in a variable to force clearing the garbage collector more often, so that the memory leaks involving awful.spawn.easy_async wouldn't cause massive performance issues over time. --- mpdarc-widget/mpdarc.lua | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'mpdarc-widget/mpdarc.lua') diff --git a/mpdarc-widget/mpdarc.lua b/mpdarc-widget/mpdarc.lua index a6a8e75..609efbf 100644 --- a/mpdarc-widget/mpdarc.lua +++ b/mpdarc-widget/mpdarc.lua @@ -87,13 +87,20 @@ mpdarc:connect_signal("button::press", function(_, _, _, button) elseif (button == 5) then awful.spawn(PREV_MPD_CMD, false) -- scroll down end + local reset_garbage_collector = 0 spawn.easy_async(GET_MPD_CMD, function(stdout, stderr, exitreason, exitcode) update_graphic(mpdarc, stdout, stderr, exitreason, exitcode) + reset_garbage_collector = reset_garbage_collector + 1 + if (reset_garbage_collector > 10) then + collectgarbage() + reset_garbage_collector = 0 + end end) end) local notification local function show_MPD_status() + local reset_garbage_collector spawn.easy_async(GET_MPD_CMD, function(stdout, _, _, _) notification = naughty.notify { @@ -103,6 +110,11 @@ local function show_MPD_status() hover_timeout = 0.5, width = 600, } + reset_garbage_collector = reset_garbage_collector + 1 + if (reset_garbage_collector > 10) then + collectgarbage() + reset_garbage_collector = 0 + end end) end -- cgit v1.2.3