[PATCH] test/emacs: replace the use of process-attributes with kill(1)
Tomi Ollila
tomi.ollila at iki.fi
Sat Jan 11 02:14:37 PST 2014
On Sat, Jan 11 2014, David Bremner <david at tethera.net> wrote:
> 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 at zancas.localnet).
>
> 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 has been pretty portable method long before 2001 :D
You could replace the call-process with
(signal-process pid 0)
Tomi
>
> I'm not sure if it would be worthwhile, but a point release could
> finally get notmuch compiling on Hurd again. At least the test in the parent message does pass on Hurd with this patch
>
> test/test-lib.el | 15 +++++++++------
> 1 file changed, 9 insertions(+), 6 deletions(-)
>
> diff --git a/test/test-lib.el b/test/test-lib.el
> index d26b49f..93f5f72 100644
> --- a/test/test-lib.el
> +++ b/test/test-lib.el
> @@ -77,19 +77,22 @@ invisible text."
> (setq start next-pos)))
> 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
> + (call-process "kill" nil nil nil "-0" (int-to-string 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))
> + (if (not (test-process-running 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)))
> + (run-at-time 60 60 'orphan-watchdog-check pid))
>
> (defun hook-counter (hook)
> "Count how many times a hook is called. Increments
> --
> 1.8.5.2
>
> _______________________________________________
> notmuch mailing list
> notmuch at notmuchmail.org
> http://notmuchmail.org/mailman/listinfo/notmuch
More information about the notmuch
mailing list