Make this code more robust by not thinking we are making progress

if zero bytes were read.

llvm-svn: 85922
This commit is contained in:
Duncan Sands 2009-11-03 19:10:22 +00:00
parent 5b0aaf3a1f
commit d4b8f9ee93

View File

@ -226,7 +226,7 @@ MemoryBuffer *MemoryBuffer::getFile(const char *Filename, std::string *ErrStr,
size_t BytesLeft = FileSize;
while (BytesLeft) {
ssize_t NumRead = ::read(FD, BufPtr, BytesLeft);
if (NumRead != -1) {
if (NumRead > 0) {
BytesLeft -= NumRead;
BufPtr += NumRead;
} else if (errno == EINTR) {