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)))
str))
(defun orphan-watchdog (pid)
(defun orphan-watchdog-check (pid)
"Periodically check that the process with id PID is still
running, quit if it terminated."
(if (not (process-attributes pid))
(kill-emacs)
(run-at-time "1 min" nil 'orphan-watchdog pid)))
(kill-emacs)))
(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)
"Count how many times a hook is called. Increments