Function: erc-process-sentinel-2
erc-process-sentinel-2 is a byte-compiled function defined in
erc-backend.el.gz.
Signature
(erc-process-sentinel-2 EVENT BUFFER)
Documentation
Called when erc-process-sentinel-1 has detected an unexpected disconnect.
Source Code
;; Defined in /usr/src/emacs/lisp/erc/erc-backend.el.gz
(defun erc-process-sentinel-2 (event buffer)
"Called when `erc-process-sentinel-1' has detected an unexpected disconnect."
(if (not (buffer-live-p buffer))
(erc-update-mode-line)
(with-current-buffer buffer
(let ((reconnect-p (erc-server-reconnect-p event)) message delay)
(setq message (if reconnect-p 'disconnected 'disconnected-noreconnect))
(erc-display-message nil 'error (current-buffer) message)
(if (not reconnect-p)
;; terminate, do not reconnect
(progn
(erc-display-message nil 'error (current-buffer)
'terminated ?e event)
;; Update mode line indicators
(erc-update-mode-line)
(set-buffer-modified-p nil))
;; reconnect
(condition-case nil
(progn
(setq erc-server-reconnecting nil
erc-server-reconnect-count (1+ erc-server-reconnect-count))
(setq delay erc-server-reconnect-timeout)
(run-at-time delay nil
#'erc-server-delayed-reconnect buffer))
(error (unless (integerp erc-server-reconnect-attempts)
(message "%s ... %s"
"Reconnecting until we succeed"
"kill the ERC server buffer to stop"))
(erc-server-delayed-reconnect buffer))))))))