aboutsummaryrefslogtreecommitdiff
path: root/src/nix-daemon
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2014-12-12 17:14:28 +0100
committerEelco Dolstra <eelco.dolstra@logicblox.com>2014-12-12 17:14:28 +0100
commitb77037b8fdd89cc06d80c3564e4a4f4a4fe8aa1d (patch)
tree013324b1b3e9e79f25163729abbbd2bb1a70801f /src/nix-daemon
parent46f3eb6fdd55394e90b1041e1af5089c0ca87091 (diff)
Silence some warnings on GCC 4.9
Diffstat (limited to 'src/nix-daemon')
-rw-r--r--src/nix-daemon/nix-daemon.cc9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/nix-daemon/nix-daemon.cc b/src/nix-daemon/nix-daemon.cc
index 12efd46f1..bed7de085 100644
--- a/src/nix-daemon/nix-daemon.cc
+++ b/src/nix-daemon/nix-daemon.cc
@@ -698,7 +698,8 @@ static PeerInfo getPeerInfo(int remote)
static void daemonLoop(char * * argv)
{
- chdir("/");
+ if (chdir("/") == -1)
+ throw SysError("cannot change current directory");
/* Get rid of children automatically; don't let them become
zombies. */
@@ -728,7 +729,8 @@ static void daemonLoop(char * * argv)
/* Urgh, sockaddr_un allows path names of only 108 characters.
So chdir to the socket directory so that we can pass a
relative path name. */
- chdir(dirOf(socketPath).c_str());
+ if (chdir(dirOf(socketPath).c_str()) == -1)
+ throw SysError("cannot change current directory");
Path socketPathRel = "./" + baseNameOf(socketPath);
struct sockaddr_un addr;
@@ -748,7 +750,8 @@ static void daemonLoop(char * * argv)
if (res == -1)
throw SysError(format("cannot bind to socket ‘%1%’") % socketPath);
- chdir("/"); /* back to the root */
+ if (chdir("/") == -1) /* back to the root */
+ throw SysError("cannot change current directory");
if (listen(fdSocket, 5) == -1)
throw SysError(format("cannot listen on socket ‘%1%’") % socketPath);