(defun riece-sentinel (process status)
(if riece-reconnect-with-password
(unwind-protect
- (riece)
+ (if (eq process riece-server-process)
+ (riece) ;Need to initialize system.
+ (let* ((entry (rassq process riece-server-process-alist))
+ (server-name
+ (with-current-buffer (process-buffer process)
+ riece-server-name))
+ (process
+ (riece-start-server
+ (riece-server-name-to-server server-name)
+ server-name)))
+ ;; Connect the process with old process' buffer.
+ (setcdr entry process)
+ (with-current-buffer (process-buffer process)
+ (setq riece-server-name server-name))))
(setq riece-reconnect-with-password nil))
(let ((server-name (with-current-buffer (process-buffer process)
riece-server-name)))