Hi Nathan, Nathan Dehnel <ncdeh...@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 <l...@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’.