Hi, [email protected] writes:
>> So I’m at loss here. Does ‘tests/systemd.sh’ succeed when ran natively? >> (In particular the check added in >> 8d31cafbdcb818160852a5d1e6fc24c1a9c53e41.) >> > > Yes, it is passing both on 1.0.3 and 1.0.4. The only thing failing now is the > system-log test. Intriguing. > As before when using #:lazy-start #f it works as expected which makes > the only difference the timing of the first connection. What would the > most minimal guix-daemon client need to look like to trigger the > EAGAIN > > I tried to verify that the port is definitly blocking before being passed to > guix-daemon and it is. I am very confused. > > Do you know of other processes (with not a lot of dependencies) that can be > socket activated to try to replicate this with something less complicated > than guix-daemon? Well there’s ‘guix publish’, and otherwise the examples from ‘tests/systemd.sh’ (following ‘define %command’). Otherwise we could mimic it by writing a C program that that opens a SOCK_NONBLOCK socket, binds + listens + select(2) until something happens, then calls fcntl(2) to clear the O_NONBLOCK flag, and then forks + execs and call accept(2) in the child process. Ludo’.
