Fix bogus "unexpected Nix daemon error: interrupted by the user"

This commit is contained in:
Eelco Dolstra 2017-04-06 17:18:56 +02:00
parent 6b5e271163
commit 963f2bf12b
No known key found for this signature in database
GPG key ID: 8170B4726D7198DE

View file

@ -487,6 +487,7 @@ void readFull(int fd, unsigned char * buf, size_t count)
void writeFull(int fd, const unsigned char * buf, size_t count, bool allowInterrupts)
{
while (count) {
if (allowInterrupts) checkInterrupt();
ssize_t res = write(fd, (char *) buf, count);
if (res == -1 && errno != EINTR)
throw SysError("writing to file");
@ -494,7 +495,6 @@ void writeFull(int fd, const unsigned char * buf, size_t count, bool allowInterr
count -= res;
buf += res;
}
if (allowInterrupts) checkInterrupt();
}
}
@ -1212,7 +1212,7 @@ static void signalHandlerThread(sigset_t set)
void triggerInterrupt()
{
_isInterrupted = 1;
_isInterrupted = true;
{
auto interruptCallbacks(_interruptCallbacks.lock());