test: delay watchdog checks in emacs.

Instead of checking immediately for the watched process, delay a
minute, or in the case that process-attributes returns nil, for two
minutes.  This is intended to cope with the case that
process-attributes is unimplimented, and returns always returns nil.
In this case, the watchdog check is the same as the two minute limit
imposed by timeout.
This commit is contained in:
David Bremner 2013-01-29 19:06:37 -04:00
parent 59fb44d785
commit f021a06288

View file

@ -77,12 +77,19 @@ invisible text."
(setq start next-pos))) (setq start next-pos)))
str)) str))
(defun orphan-watchdog (pid) (defun orphan-watchdog-check (pid)
"Periodically check that the process with id PID is still "Periodically check that the process with id PID is still
running, quit if it terminated." running, quit if it terminated."
(if (not (process-attributes pid)) (if (not (process-attributes pid))
(kill-emacs) (kill-emacs)))
(run-at-time "1 min" nil 'orphan-watchdog pid)))
(defun orphan-watchdog (pid)
"Initiate orphan watchdog check."
; If process-attributes returns nil right away, that probably means
; it is unimplimented. So we delay two minutes before killing emacs.
(if (process-attributes pid)
(run-at-time 60 60 'orphan-watchdog-check pid)
(run-at-time 120 60 'orphan-watchdog-check pid)))
(defun hook-counter (hook) (defun hook-counter (hook)
"Count how many times a hook is called. Increments "Count how many times a hook is called. Increments