You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@thrift.apache.org by ro...@apache.org on 2015/04/07 23:25:13 UTC

thrift git commit: THRIFT-3077 TFileTransport fix ignored ftruncate result

Repository: thrift
Updated Branches:
  refs/heads/master 7110ab295 -> 8ccd63494


THRIFT-3077 TFileTransport fix ignored ftruncate result


Project: http://git-wip-us.apache.org/repos/asf/thrift/repo
Commit: http://git-wip-us.apache.org/repos/asf/thrift/commit/8ccd6349
Tree: http://git-wip-us.apache.org/repos/asf/thrift/tree/8ccd6349
Diff: http://git-wip-us.apache.org/repos/asf/thrift/diff/8ccd6349

Branch: refs/heads/master
Commit: 8ccd634946077f8915385d5dbd320622b6e70ef3
Parents: 7110ab2
Author: Jim King <ji...@simplivity.com>
Authored: Sat Apr 4 15:58:57 2015 -0400
Committer: Roger Meier <ro...@apache.org>
Committed: Tue Apr 7 23:23:31 2015 +0200

----------------------------------------------------------------------
 lib/cpp/src/thrift/transport/TFileTransport.cpp | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/thrift/blob/8ccd6349/lib/cpp/src/thrift/transport/TFileTransport.cpp
----------------------------------------------------------------------
diff --git a/lib/cpp/src/thrift/transport/TFileTransport.cpp b/lib/cpp/src/thrift/transport/TFileTransport.cpp
index fe6ef9b..8f6fe8e 100644
--- a/lib/cpp/src/thrift/transport/TFileTransport.cpp
+++ b/lib/cpp/src/thrift/transport/TFileTransport.cpp
@@ -310,8 +310,13 @@ void TFileTransport::writerThread() {
       seekToEnd();
       // throw away any partial events
       offset_ += readState_.lastDispatchPtr_;
-      THRIFT_FTRUNCATE(fd_, offset_);
-      readState_.resetAllValues();
+      if (0 == THRIFT_FTRUNCATE(fd_, offset_)) {
+        readState_.resetAllValues();
+      } else {
+        int errno_copy = THRIFT_ERRNO;
+        GlobalOutput.perror("TFileTransport: writerThread() truncate ", errno_copy);
+        hasIOError = true;
+      }
     } catch (...) {
       int errno_copy = THRIFT_ERRNO;
       GlobalOutput.perror("TFileTransport: writerThread() initialization ", errno_copy);