This was failing on an NFS mount that was dying.
Better to fail hard then return uninitialized data.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665677
13f79535-47bb-0310-9956-
ffa450edef68
if (fd_ <= 0) {
return 0;
}
+
struct stat f_info;
- fstat(fd_, &f_info);
+ int rv = fstat(fd_, &f_info);
+
+ if (rv < 0) {
+ int errno_copy = errno;
+ throw TTransportException(TTransportException::UNKNOWN,
+ "TFileTransport::getNumChunks() (fstat)",
+ errno_copy);
+ }
+
if (f_info.st_size > 0) {
return ((f_info.st_size)/chunkSize_) + 1;
}