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 אפרים פלשנר GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted