[PATCH 1/2] test: delay watchdog checks in emacs.
david at tethera.net
david at tethera.net
Tue Jan 29 15:26:12 PST 2013
From: David Bremner <bremner at debian.org>
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.
---
test/test-lib.el | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/test/test-lib.el b/test/test-lib.el
index dece811..d26b49f 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
--
1.7.10.4
More information about the notmuch
mailing list