Cleanup resources when empc has been disconnected by the server
This commit is contained in:
parent
c4f18da3ba
commit
b96930ddeb
1 changed files with 12 additions and 7 deletions
19
empc.el
19
empc.el
|
|
@ -291,10 +291,11 @@ For status:
|
||||||
(defun empc-process-sentinel (proc event)
|
(defun empc-process-sentinel (proc event)
|
||||||
"Process sentinel for `empc-process'."
|
"Process sentinel for `empc-process'."
|
||||||
(let ((debug-on-error t)
|
(let ((debug-on-error t)
|
||||||
(status (process-status proc)))
|
(status (process-status proc)))
|
||||||
(cond ((eq status 'closed)
|
(cond ((eq status 'closed)
|
||||||
(when empc-verbose
|
(when empc-verbose
|
||||||
(message "empc: connection closed"))))))
|
(message "empc: connection closed"))
|
||||||
|
(empc-cleanup)))))
|
||||||
|
|
||||||
(defun empc-process-filter (object string)
|
(defun empc-process-filter (object string)
|
||||||
"Append STRING to the process buffer then process the data."
|
"Append STRING to the process buffer then process the data."
|
||||||
|
|
@ -742,10 +743,14 @@ Send the password or retrieve available commands."
|
||||||
"Close connection between empc and mpd."
|
"Close connection between empc and mpd."
|
||||||
(interactive)
|
(interactive)
|
||||||
(let* ((process (empc-process empc-object)))
|
(let* ((process (empc-process empc-object)))
|
||||||
(when (and process
|
(if (and process
|
||||||
(processp process)
|
(processp process)
|
||||||
(eq (process-status process) 'open))
|
(eq (process-status process) 'open))
|
||||||
(empc-send-close)))
|
(empc-send-close)
|
||||||
|
(empc-cleanup))))
|
||||||
|
|
||||||
|
(defun empc-cleanup ()
|
||||||
|
"Cleanup empc resources after disconnection."
|
||||||
(when empc-object
|
(when empc-object
|
||||||
(empc-close empc-object))
|
(empc-close empc-object))
|
||||||
(empc-mode-line nil)
|
(empc-mode-line nil)
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue