mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-22 02:48:08 +01:00
test/emacs: replace the use of process-attributes with signal-process
In some environments (at least Hurd), process-attributes is unimplimented and always returns nil. This ends up causing test failures (see e.g. id:87a9ffofsc.fsf@zancas.localnet). Historically and according to POSIX 1003.1-2001, a signal of 0 can be used to check the validity of a pid. This seems less heinous than parsing the output of ps(1).
This commit is contained in:
parent
beaf251e16
commit
b4f3be53c8
1 changed files with 9 additions and 6 deletions
|
@ -77,19 +77,22 @@ invisible text."
|
||||||
(setq start next-pos)))
|
(setq start next-pos)))
|
||||||
str))
|
str))
|
||||||
|
|
||||||
|
;; process-attributes is not defined everywhere, so define an
|
||||||
|
;; alternate way to test if a process still exists.
|
||||||
|
|
||||||
|
(defun test-process-running (pid)
|
||||||
|
(= 0
|
||||||
|
(signal-process pid 0)))
|
||||||
|
|
||||||
(defun orphan-watchdog-check (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 (test-process-running pid))
|
||||||
(kill-emacs)))
|
(kill-emacs)))
|
||||||
|
|
||||||
(defun orphan-watchdog (pid)
|
(defun orphan-watchdog (pid)
|
||||||
"Initiate orphan watchdog check."
|
"Initiate orphan watchdog check."
|
||||||
; If process-attributes returns nil right away, that probably means
|
(run-at-time 60 60 'orphan-watchdog-check pid))
|
||||||
; 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
|
||||||
|
|
Loading…
Reference in a new issue