>From 0a53a7c741b8d1afee16982493b66b3f3846adaa Mon Sep 17 00:00:00 2001 From: Morgan Veyret Date: Mon, 20 Oct 2008 14:34:28 +0200 Subject: [PATCH] Cancel mpd timer on disconnect or connection lost. --- contrib/mpd.lisp | 8 +++++--- 1 files changed, 5 insertions(+), 3 deletions(-) diff --git a/contrib/mpd.lisp b/contrib/mpd.lisp index e0917c1..09ec699 100644 --- a/contrib/mpd.lisp +++ b/contrib/mpd.lisp @@ -112,7 +112,7 @@ (defvar *mpd-timeout* 50) -(defparameter *mpd-timer* nil) +(defvar *mpd-timer* nil) (defvar *mpd-collapse-album-length* nil) (defvar *mpd-collapse-all-length* nil) @@ -122,7 +122,8 @@ (handler-case (progn ,@body) (error (c) (progn (message "Error with mpd connection: ~a" c) - (setf *mpd-socket* nil)))) + (setf *mpd-socket* nil) + (when *mpd-timer* (cancel-timer *mpd-timer*))))) (message "Error: not connected to mpd~%"))) (defun mpd-send (command) @@ -462,7 +463,8 @@ Volume "Disconnect from mpd server" (with-mpd-connection (close *mpd-socket*) - (setf *mpd-socket* nil))) + (setf *mpd-socket* nil) + (when *mpd-timer* (cancel-timer *mpd-timer*)))) (defcommand mpd-kill () () (mpd-send-command "kill")) -- 1.5.4.5