Hi, Attila Lendvai <[email protected]> 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’.
