1
0
Fork 0
mirror of https://github.com/NixOS/nix synced 2025-07-06 13:21:47 +02:00

Merge pull request #9798 from edolstra/remote-store-eof

Print a more helpful message if the daemon crashes
This commit is contained in:
Eelco Dolstra 2024-01-18 15:47:59 +01:00 committed by GitHub
commit 32706b14a7
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 5 additions and 3 deletions

View file

@ -132,7 +132,7 @@ size_t FdSource::readUnbuffered(char * data, size_t len)
n = ::read(fd, data, len);
} while (n == -1 && errno == EINTR);
if (n == -1) { _good = false; throw SysError("reading from file"); }
if (n == 0) { _good = false; throw EndOfFile("unexpected end-of-file"); }
if (n == 0) { _good = false; throw EndOfFile(std::string(*endOfFileError)); }
read += n;
return n;
}

View file

@ -153,12 +153,13 @@ struct FdSource : BufferedSource
{
int fd;
size_t read = 0;
BackedStringView endOfFileError{"unexpected end-of-file"};
FdSource() : fd(-1) { }
FdSource(int fd) : fd(fd) { }
FdSource(FdSource&&) = default;
FdSource(FdSource &&) = default;
FdSource& operator=(FdSource && s)
FdSource & operator=(FdSource && s)
{
fd = s.fd;
s.fd = -1;