[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#53580: /var/run/shepherd/socket is missing on an otherwise functiona
From: |
Ludovic Courtès |
Subject: |
bug#53580: /var/run/shepherd/socket is missing on an otherwise functional system |
Date: |
Sun, 11 Jun 2023 16:16:37 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) |
Hi,
Attila Lendvai <attila@lendvai.name> skribis:
> when i'm working on my service code, which is `guix pull`ed in from my
> channel, then after a reconfigure i seem to have to reboot for my new code to
> get activated. a simple `herd restart` on the service didn't seem to be
> enough. i.e. the guile modules that my service code is using did not get
> reloaded into the PID 1 guile.
Guile modules do not get reloaded; there’s no mechanism in place to
reload previously-loaded Guile modules.
> keep in mind that this is a non-trivial service that e.g. spawns a long-lived
> fiber to talk to the daemon through its stdio while the daemon is running.
> IOW, its start GEXP is not just a simple forkexec, but something more complex
> that uses functions from guile modules that should be reloaded into PID 1
> when the new version of the service is to be started.
OK, got it. There’s not enough info here to be concrete, but I’d
recommend making it a separate process if you need to reliably
reload/replace the module. IOW, you’d make it a “regular” service
spawned with ‘make-forkexec-constructor’ or similar.
However this doesn’t have anything to do with the initial bug report and
the title of this message; for clarity, please move further discussion
to guix-devel.
Thanks,
Ludo’.