Index: chromeos/network/firewall_hole.cc |
diff --git a/chromeos/network/firewall_hole.cc b/chromeos/network/firewall_hole.cc |
index 3ad3463fbd5c4e733ec7a90084f5e6248172392a..425e423fe8c9a0e0559b28dbd3665393358b5572 100644 |
--- a/chromeos/network/firewall_hole.cc |
+++ b/chromeos/network/firewall_hole.cc |
@@ -50,7 +50,7 @@ |
void PortReleased(FirewallHole::PortType type, |
uint16_t port, |
const std::string& interface, |
- dbus::ScopedFileDescriptor lifeline_fd, |
+ FirewallHole::ScopedFileDescriptor lifeline_fd, |
bool success) { |
if (!success) { |
LOG(WARNING) << "Failed to release firewall hole for " |
@@ -61,13 +61,20 @@ |
} // namespace |
+void CHROMEOS_EXPORT FirewallHole::FileDescriptorDeleter::operator()( |
+ dbus::FileDescriptor* fd) { |
+ base::WorkerPool::PostTask( |
+ FROM_HERE, base::Bind(&base::DeletePointer<dbus::FileDescriptor>, fd), |
+ false); |
+} |
+ |
// static |
void FirewallHole::Open(PortType type, |
uint16_t port, |
const std::string& interface, |
const OpenCallback& callback) { |
- dbus::ScopedFileDescriptor lifeline_local(new dbus::FileDescriptor()); |
- dbus::ScopedFileDescriptor lifeline_remote(new dbus::FileDescriptor()); |
+ ScopedFileDescriptor lifeline_local(new dbus::FileDescriptor()); |
+ ScopedFileDescriptor lifeline_remote(new dbus::FileDescriptor()); |
// This closure shares pointers with the one below. PostTaskAndReply |
// guarantees that it will always be deleted first. |
@@ -102,8 +109,8 @@ |
void FirewallHole::RequestPortAccess(PortType type, |
uint16_t port, |
const std::string& interface, |
- dbus::ScopedFileDescriptor lifeline_local, |
- dbus::ScopedFileDescriptor lifeline_remote, |
+ ScopedFileDescriptor lifeline_local, |
+ ScopedFileDescriptor lifeline_remote, |
const OpenCallback& callback) { |
if (!lifeline_local->is_valid() || !lifeline_remote->is_valid()) { |
callback.Run(nullptr); |
@@ -133,7 +140,7 @@ |
void FirewallHole::PortAccessGranted(PortType type, |
uint16_t port, |
const std::string& interface, |
- dbus::ScopedFileDescriptor lifeline_fd, |
+ ScopedFileDescriptor lifeline_fd, |
const FirewallHole::OpenCallback& callback, |
bool success) { |
if (success) { |
@@ -147,7 +154,7 @@ |
FirewallHole::FirewallHole(PortType type, |
uint16_t port, |
const std::string& interface, |
- dbus::ScopedFileDescriptor lifeline_fd) |
+ ScopedFileDescriptor lifeline_fd) |
: type_(type), |
port_(port), |
interface_(interface), |