[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#54986] [PATCH v2 3/3 WIP] services: mpd: Support socket activation.
From: |
Maxime Devos |
Subject: |
[bug#54986] [PATCH v2 3/3 WIP] services: mpd: Support socket activation. |
Date: |
Sat, 23 Apr 2022 19:31:34 +0200 |
User-agent: |
Evolution 3.38.3-1 |
> +(define (shepherd-endpoint->sexp endpoint)
> + (match endpoint
> + (($ <shepherd-endpoint> address
> + name style backlog socket-owner socket-
group
> + socket-directory-permissions)
> + `(endpoint
> + ,(match (sockaddr:fam address)
> + ((? (cute = <> AF_INET) _)
> + `(make-socket-addr AF_INET
> + ,(sockaddr:addr address)
> + ,(sockaddr:port address)))
Liliana Marie Prikler schreef op za 23-04-2022 om 16:39 [+0200]:
> + (list #$@(map shepherd-endpoint->sexp
> + (mpd-configuration-shepherd-endpoints
> config)))
For hygiene reasons, should 'shepherd-endpoint->sexp' use @?
`((@ (the module) endpoint)
,(match [...]
((@ [...] make-socket-addr (@ [...] AF_UNIX) ...)
...))
That way, no assumptions are made on what modules are imported and it
avoids hygiene problems like in
;; There are two ‘endpoints’ here: the ‘API endpoint’,
;; and Shepherd endpoints.
#~(let ((endpoint "http://localhost:1234/api"))
(make-systemd-constructor
(list #$(file-append soft "/bin/ware")
"--endpoint" #$endpoint)
(list (shepherd-endpoint->sexp ...))))
Greetings,
Maxime.
signature.asc
Description: This is a digitally signed message part
[bug#54986] [PATCH v2 1/3] gnu: mpd: Add support for socket activation., Liliana Marie Prikler, 2022/04/23
[bug#54986] [PATCH v2 3/3 WIP] services: mpd: Support socket activation., Liliana Marie Prikler, 2022/04/23
[bug#54986] [PATCH v2 2/3 WIP] services: shepherd: Add support for socket activation endpoints., Liliana Marie Prikler, 2022/04/23