diff options
Diffstat (limited to 'src/nix-worker')
-rw-r--r-- | src/nix-worker/nix-worker.cc | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/nix-worker/nix-worker.cc b/src/nix-worker/nix-worker.cc index dc9db0be427c..1ba74f46fee9 100644 --- a/src/nix-worker/nix-worker.cc +++ b/src/nix-worker/nix-worker.cc @@ -627,13 +627,17 @@ static void daemonLoop() case 0: try { /* child */ - + /* Background the worker. */ if (setsid() == -1) throw SysError(format("creating a new session")); /* Restore normal handling of SIGCHLD. */ setSigChldAction(false); + + /* Since the daemon can be long-running, the + settings may have changed. So force a reload. */ + reloadSettings(); /* Handle the connection. */ from.fd = remote; |