diff options
Diffstat (limited to 'base/process_util_posix.cc')
-rw-r--r-- | base/process_util_posix.cc | 3 |
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 |