[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: The Shepherd on Fibers
From: |
Ludovic Courtès |
Subject: |
Re: The Shepherd on Fibers |
Date: |
Tue, 29 Mar 2022 15:16:15 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) |
Hi!
Ludovic Courtès <ludo@gnu.org> skribis:
> I have pushed a ‘wip-fibers’ branch of the Shepherd:
>
> https://git.savannah.gnu.org/cgit/shepherd.git/log/?h=wip-fibers
>
> The goal is to make shepherd (the daemon) use Fibers¹ for concurrency.
The latest news are:
1. Support for inetd-style services¹, where shepherd listens and
accepts client connections, starts the daemon and hands it the
connection socket—e.g., ‘sshd -i’.
Each daemon process is handled as a “transient service”, a new type
of service that is automatically unregistered when it’s done. You
can see those when running ‘herd status’; in the OpenSSH example,
you’d see ‘sshd-1’, ‘sshd-2’, etc. corresponding to individual SSH
client connections.
2. Support for systemd-style “socket activation”², where shepherd
listens, spawns the daemon when the first request arrives, and
hands it the *listening* socket.
From the user viewpoint, this one is similar to the existing
‘make-forkexec-constructor’ type of service. The main difference
is that its “running value” as shown by ‘herd status SERVICE’ is
initially a socket and then becomes a PID.
My plan is to merge ‘wip-fibers’ in ‘master’, publish a release
candidate, publish a ‘wip-’ branch of Guix that we can use for testing,
and hopefully release the Shepherd 0.9.0 within a week or two.
Ludo’.
¹ https://www.gnu.org/software/inetutils/manual/html_node/inetd-invocation.html
²
https://www.freedesktop.org/software/systemd/man/daemon.html#Socket-Based%20Activation
- Re: The Shepherd on Fibers, (continued)
- Re: The Shepherd on Fibers,
Ludovic Courtès <=
- The Shepherd on Fibers, Brendan Tildesley, 2022/03/24
The Shepherd on Fibers, Nathan Dehnel, 2022/03/24