From e37b2d340398eb7573fafdee5afc6b2a9f28c127 Mon Sep 17 00:00:00 2001 From: crater2150 Date: Mon, 26 Mar 2012 16:30:53 +0200 Subject: [PATCH] Catch luampd socket error and reconnect --- bindings.lua | 4 +--- mpd.lua | 3 ++- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/bindings.lua b/bindings.lua index d6a1141..cc2845d 100644 --- a/bindings.lua +++ b/bindings.lua @@ -16,9 +16,7 @@ mpdmap = { n = mpd.ctrl.next, N = mpd.ctrl.prev, s = function() awful.util.spawn("mpd") end, - g = function () awful.util.spawn(cmd.mpd_client) end, - d = mpd.disconnect, - c = mpd.connect + g = function () awful.util.spawn(cmd.mpd_client) end } mpdpromts = { name = "MPD PROMPTS", diff --git a/mpd.lua b/mpd.lua index 8493880..b227178 100644 --- a/mpd.lua +++ b/mpd.lua @@ -36,7 +36,8 @@ M.disconnect = function() end M.ensure_connection = function() - if conn == nil then M.connect() end + -- luampd throws SOCKET_ERRORs all the time. catch them and reconnect + if conn == nil or not pcall(conn:status()) then M.connect() end end -- }}}