[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: branch master updated: doc: Recommend avoiding execl, execle or exec
From: |
Ludovic Courtès |
Subject: |
Re: branch master updated: doc: Recommend avoiding execl, execle or execlp in mcron job specifications. |
Date: |
Fri, 02 Dec 2022 10:32:22 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) |
Hello,
guix-commits@gnu.org skribis:
> diff --git a/doc/guix.texi b/doc/guix.texi
> index e547d469f4..caa6976a82 100644
> --- a/doc/guix.texi
> +++ b/doc/guix.texi
> @@ -18940,9 +18940,8 @@ gexps to introduce job definitions that are passed to
> mcron
> ;; job's action as a Scheme procedure.
> #~(job '(next-hour '(3))
> (lambda ()
> - (execl (string-append #$findutils "/bin/updatedb")
> - "updatedb"
> - "--prunepaths=/tmp /var/tmp /gnu/store"))
> + (system* (string-append #$findutils "/bin/updatedb")
> + "--prunepaths=/tmp /var/tmp /gnu/store"))
> "updatedb"))
>
> (define garbage-collector-job
> @@ -18980,6 +18979,12 @@ the job would appear as ``Lambda function'' in the
> output of
> @command{herd schedule mcron}, which is not nearly descriptive enough!
> @end quotation
>
> +@quotation Tip
> +Avoid calling the Guile procedures @code{execl}, @code{execle} or
> +@code{execlp} inside a job specification, else mcron won't be able to
> +output the completion status of the job.
> +@end quotation
The problem is that this creates an additional process and the first one
now just sits there in ‘waitpid’.
Could mcron return the completion status of the process that calls the
thunk? It suppose it’s already monitoring it (via SIGCHLD or a direct
‘waitpid’ call) so it should have that info available, no?
I hope this makes sense.
Ludo’.
- Re: branch master updated: doc: Recommend avoiding execl, execle or execlp in mcron job specifications.,
Ludovic Courtès <=