summaryrefslogtreecommitdiffstats
path: root/base/process_util_posix.cc
diff options
context:
space:
mode:
Diffstat (limited to 'base/process_util_posix.cc')
-rw-r--r--base/process_util_posix.cc3
1 files changed, 3 insertions, 0 deletions
diff --git a/base/process_util_posix.cc b/base/process_util_posix.cc
index c293cbe..d5d6cb8 100644
--- a/base/process_util_posix.cc
+++ b/base/process_util_posix.cc
@@ -146,6 +146,7 @@ void CloseSuperfluousFds(const base::InjectiveMultimap& saved_mapping) {
}
return;
}
+ int dir_fd = dirfd(dir);
struct dirent *ent;
while ((ent = readdir(dir))) {
@@ -160,6 +161,8 @@ void CloseSuperfluousFds(const base::InjectiveMultimap& saved_mapping) {
continue;
if (saved_fds.find(fd) != saved_fds.end())
continue;
+ if (fd == dir_fd)
+ continue;
// When running under Valgrind, Valgrind opens several FDs for its
// own use and will complain if we try to close them. All of