[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#53225: shepherd freezes if wireguard is started with dns config enab
From: |
Ludovic Courtès |
Subject: |
bug#53225: shepherd freezes if wireguard is started with dns config enabled |
Date: |
Mon, 17 Jan 2022 14:48:40 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) |
Hi,
Nathan Dehnel <ncdehnel@gmail.com> skribis:
>>What do you mean by “freezing”? Does ‘herd status’ and similar commands
> block forever?
> Yes
>
>>Requests in the Shepherd are currently handled sequentially. So if you
> issue several ‘herd restart’ commands, they’ll be processed one at a
> time. This is usually okay because ‘start’ commands are expected to be
> quick (just wait for the daemon to write its PID file or similar).
> What is the nature of this serialization? Does wireguard need to
> finish before resolvconf can start? Because that's probably the issue.
One command sent to shepherd by ‘herd …’ must have completed before the
next one is processed.
You can experience it like this:
sudo herd eval root '(sleep 3)' & echo status && sudo herd status
Here the first ‘herd’ command has shepherd block for 3 seconds, so the
second ‘herd’ command won’t print anything until 3 seconds have passed.
HTH,
Ludo’.