You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by tn...@apache.org on 2015/04/15 20:44:17 UTC
mesos git commit: Fixed check for lseek error.
Repository: mesos
Updated Branches:
refs/heads/master 3cea94273 -> dede530a2
Fixed check for lseek error.
Review: https://reviews.apache.org/r/31480
Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/dede530a
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/dede530a
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/dede530a
Branch: refs/heads/master
Commit: dede530a27d41e561f75932fadc93c368fde812d
Parents: 3cea942
Author: Timothy Chen <tn...@gmail.com>
Authored: Wed Apr 15 11:13:08 2015 -0700
Committer: Timothy Chen <tn...@gmail.com>
Committed: Wed Apr 15 11:43:29 2015 -0700
----------------------------------------------------------------------
src/slave/state.cpp | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mesos/blob/dede530a/src/slave/state.cpp
----------------------------------------------------------------------
diff --git a/src/slave/state.cpp b/src/slave/state.cpp
index 35ce70b..8eda22a 100644
--- a/src/slave/state.cpp
+++ b/src/slave/state.cpp
@@ -610,11 +610,17 @@ Try<TaskState> TaskState::recover(
}
}
+ off_t offset = lseek(fd.get(), 0, SEEK_CUR);
+
+ if (offset < 0) {
+ return ErrnoError("Failed to lseek status updates file '" + path + "'");
+ }
+
// Always truncate the file to contain only valid updates.
// NOTE: This is safe even though we ignore partial protobuf read
// errors above, because the 'fd' is properly set to the end of the
// last valid update by 'protobuf::read()'.
- if (ftruncate(fd.get(), lseek(fd.get(), 0, SEEK_CUR)) != 0) {
+ if (ftruncate(fd.get(), offset) != 0) {
return ErrnoError(
"Failed to truncate status updates file '" + path + "'");
}
@@ -692,11 +698,16 @@ Try<ResourcesState> ResourcesState::recover(
state.resources += resource.get();
}
+ off_t offset = lseek(fd.get(), 0, SEEK_CUR);
+ if (offset < 0) {
+ return ErrnoError("Failed to lseek resources file '" + path + "'");
+ }
+
// Always truncate the file to contain only valid resources.
// NOTE: This is safe even though we ignore partial protobuf read
// errors above, because the 'fd' is properly set to the end of the
// last valid resource by 'protobuf::read()'.
- if (ftruncate(fd.get(), lseek(fd.get(), 0, SEEK_CUR)) != 0) {
+ if (ftruncate(fd.get(), offset) != 0) {
return ErrnoError("Failed to truncate resources file '" + path + "'");
}