help-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How do you define a service?


From: Efraim Flashner
Subject: Re: How do you define a service?
Date: Sun, 18 Oct 2020 19:42:52 +0300

On Sun, Oct 18, 2020 at 04:53:17PM +0200, divoplade wrote:
> Thank you for your responses. I reduced down the problem further.
> 
> The following program, as run in a service, creates an *empty* file
> "/tmp/wtf", and runs for a minute:
> 
> (format (open-output-file "/tmp/wtf") "WTF???\n")
> 
> (sleep 60)
> 
> The following program, as run in the same condition, create an *empty*
> file and fails immediately:
> 
> (with-output-to-file "/tmp/wtf"
>   (display "WTF???\n"))
> 
> (sleep 60)
> 
> So I think the question is rather, whether Guile can actually work in a
> shepherd forkexec environment: I guess the standard ports are closed,
> so maybe guile panics when it is time to flush the data, even if the
> ports are redirected.

forkexec does close the standard ports. Unfortunately I don't see that
mentioned in the manual¹. I know it's mentioned somewhere in the code
but I can't find it anywhere right now.

> Do you have an example of a service written in guile that works in this
> context?
> 
> Best regards,
> 
> divoplade

¹ 
https://www.gnu.org/software/shepherd/manual/html_node/Service-De_002d-and-Constructors.html#Service-De_002d-and-Constructors

-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]