[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: |
Thu, 02 Jun 2022 15:38:56 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.1 (gnu/linux) |
Hi Nathan,
Nathan Dehnel <ncdehnel@gmail.com> skribis:
> Just tested and Shepherd 0.9 does not fix this issue.
Could you be more specific? Specifically, could you share
/var/log/messages for the parts related to Wireguard?
> On Mon, Jan 17, 2022 at 7:48 AM Ludovic Courtès <ludo@gnu.org> wrote:
[...]
>> 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.
This is actually still the case with 0.9, because here we’re calling
(@ (guile) sleep), which blocks. So… not a good example.
The short story is: it is still possible to write code that blocks
shepherd, as with the ‘sleep’ example above. However, the standard
service constructors/destructors no longer block, and shepherd can serve
multiple clients concurrently.
Ludo’.