You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by bm...@apache.org on 2015/09/25 03:16:25 UTC
mesos git commit: Fixed file descriptor leakage in files.cpp.
Repository: mesos
Updated Branches:
refs/heads/master cad6db903 -> b7c5a4ece
Fixed file descriptor leakage in files.cpp.
Review: https://reviews.apache.org/r/38743
Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/b7c5a4ec
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/b7c5a4ec
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/b7c5a4ec
Branch: refs/heads/master
Commit: b7c5a4ece874a658d7b92fbdb3c6ff292bb5b5bc
Parents: cad6db9
Author: Chi Zhang <ch...@gmail.com>
Authored: Thu Sep 24 18:15:53 2015 -0700
Committer: Benjamin Mahler <be...@gmail.com>
Committed: Thu Sep 24 18:15:53 2015 -0700
----------------------------------------------------------------------
src/files/files.cpp | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mesos/blob/b7c5a4ec/src/files/files.cpp
----------------------------------------------------------------------
diff --git a/src/files/files.cpp b/src/files/files.cpp
index 1d4b1e6..5afe332 100644
--- a/src/files/files.cpp
+++ b/src/files/files.cpp
@@ -266,8 +266,6 @@ Future<Response> _read(int fd,
object.values["offset"] = offset;
object.values["data"] = string(data.get(), size);
- os::close(fd);
-
return OK(object, jsonp);
}
@@ -383,6 +381,7 @@ Future<Response> FilesProcess::read(const Request& request)
string error =
"Failed to set file descriptor nonblocking: " + nonblock.error();
LOG(WARNING) << error;
+ os::close(fd.get());
return InternalServerError(error);
}
@@ -396,7 +395,8 @@ Future<Response> FilesProcess::read(const Request& request)
lambda::_1,
offset,
data,
- request.query.get("jsonp")));
+ request.query.get("jsonp")))
+ .onAny(lambda::bind(&os::close, fd.get()));
}