aboutsummaryrefslogtreecommitdiffhomepage
path: root/test
diff options
context:
space:
mode:
authorGravatar David Bremner <bremner@debian.org>2013-01-29 19:06:37 -0400
committerGravatar David Bremner <bremner@debian.org>2013-01-29 19:17:07 -0400
commitf021a062888b7940fe7ee049a88ae176837bcd96 (patch)
tree7e019e0b1f98d7175de33a3c96d81219480fc199 /test
parent59fb44d78522adf6e927af3a707d668dd2cf5108 (diff)
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.
Diffstat (limited to 'test')
-rw-r--r--test/test-lib.el13
1 files changed, 10 insertions, 3 deletions
diff --git a/test/test-lib.el b/test/test-lib.el
index dece811e..d26b49f7 100644
--- a/test/test-lib.el
+++ b/test/test-lib.el
@@ -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