summaryrefslogtreecommitdiffstats
path: root/ipc/file_descriptor_set_posix.cc
diff options
context:
space:
mode:
authorhubbe@chromium.org <hubbe@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-10-15 00:07:00 +0000
committerhubbe@chromium.org <hubbe@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-10-15 00:07:00 +0000
commitdc875dc95290a9a5e4245e24e209a0496038f46c (patch)
tree30af6bb90080078ebe4adb96fe1c2a50df199f94 /ipc/file_descriptor_set_posix.cc
parent3a678cfe431c44d9397e4616c676578f58ed69ca (diff)
downloadchromium_src-dc875dc95290a9a5e4245e24e209a0496038f46c.zip
chromium_src-dc875dc95290a9a5e4245e24e209a0496038f46c.tar.gz
chromium_src-dc875dc95290a9a5e4245e24e209a0496038f46c.tar.bz2
Alternative workaround for mac kernel bug.
BUG=298276 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=227999 Review URL: https://codereview.chromium.org/25325002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@228569 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ipc/file_descriptor_set_posix.cc')
-rw-r--r--ipc/file_descriptor_set_posix.cc10
1 files changed, 10 insertions, 0 deletions
diff --git a/ipc/file_descriptor_set_posix.cc b/ipc/file_descriptor_set_posix.cc
index 584efec..fc15c2d 100644
--- a/ipc/file_descriptor_set_posix.cc
+++ b/ipc/file_descriptor_set_posix.cc
@@ -126,6 +126,16 @@ void FileDescriptorSet::CommitAll() {
consumed_descriptor_highwater_ = 0;
}
+void FileDescriptorSet::ReleaseFDsToClose(std::vector<int>* fds) {
+ for (std::vector<base::FileDescriptor>::iterator
+ i = descriptors_.begin(); i != descriptors_.end(); ++i) {
+ if (i->auto_close)
+ fds->push_back(i->fd);
+ }
+ descriptors_.clear();
+ consumed_descriptor_highwater_ = 0;
+}
+
void FileDescriptorSet::SetDescriptors(const int* buffer, unsigned count) {
DCHECK(count <= kMaxDescriptorsPerMessage);
DCHECK_EQ(descriptors_.size(), 0u);