* Propagate the "100" exit status for failed builds through the Nix

daemon.
This commit is contained in:
Eelco Dolstra 2010-12-17 11:28:26 +00:00
parent eac93d6efe
commit b1eb252172
3 changed files with 9 additions and 5 deletions

View file

@ -509,8 +509,11 @@ void RemoteStore::processStderr(Sink * sink, Source * source)
writeToStderr((const unsigned char *) s.c_str(), s.size());
}
}
if (msg == STDERR_ERROR)
throw Error(readString(from));
if (msg == STDERR_ERROR) {
string error = readString(from);
unsigned int status = GET_PROTOCOL_MINOR(daemonVersion) >= 8 ? readInt(from) : 1;
throw Error(error, status);
}
else if (msg != STDERR_LAST)
throw Error("protocol error processing standard error");
}

View file

@ -8,7 +8,7 @@ namespace nix {
#define WORKER_MAGIC_1 0x6e697863
#define WORKER_MAGIC_2 0x6478696f
#define PROTOCOL_VERSION 0x107
#define PROTOCOL_VERSION 0x108
#define GET_PROTOCOL_MAJOR(x) ((x) & 0xff00)
#define GET_PROTOCOL_MINOR(x) ((x) & 0x00ff)