diff options
author | Eelco Dolstra <e.dolstra@tudelft.nl> | 2008-11-20 12:25:11 +0000 |
---|---|---|
committer | Eelco Dolstra <e.dolstra@tudelft.nl> | 2008-11-20 12:25:11 +0000 |
commit | a55113411fe8e6ef39e24c79564e39f07f5a8fdf (patch) | |
tree | 45819b6a0de04d178f13011274b546ffa9c3ada7 /src/nix-worker | |
parent | c202523e5304c41ef9a6c7a54951bf39a33ff26e (diff) | |
download | guix-a55113411fe8e6ef39e24c79564e39f07f5a8fdf.tar.gz |
* Nix daemon: reload the configuration file after forking (NIX-100).
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 dc9db0be42..1ba74f46fe 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; |