* Propagate the "100" exit status for failed builds through the Nix
daemon.
This commit is contained in:
parent
eac93d6efe
commit
b1eb252172
3 changed files with 9 additions and 5 deletions
|
|
@ -178,7 +178,7 @@ static void startWork()
|
|||
|
||||
/* stopWork() means that we're done; stop sending stderr to the
|
||||
client. */
|
||||
static void stopWork(bool success = true, const string & msg = "")
|
||||
static void stopWork(bool success = true, const string & msg = "", unsigned int status = 0)
|
||||
{
|
||||
/* Stop handling async client death; we're going to a state where
|
||||
we're either sending or receiving from the client, so we'll be
|
||||
|
|
@ -192,6 +192,7 @@ static void stopWork(bool success = true, const string & msg = "")
|
|||
else {
|
||||
writeInt(STDERR_ERROR, to);
|
||||
writeString(msg, to);
|
||||
if (status != 0) writeInt(status, to);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -637,7 +638,7 @@ static void processConnection()
|
|||
try {
|
||||
performOp(clientVersion, from, to, op);
|
||||
} catch (Error & e) {
|
||||
stopWork(false, e.msg());
|
||||
stopWork(false, e.msg(), GET_PROTOCOL_MINOR(clientVersion) >= 8 ? e.status : 0);
|
||||
}
|
||||
|
||||
assert(!canSendStderr);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue