diff options
author | rpaquay@chromium.org <rpaquay@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-07-31 12:07:19 +0000 |
---|---|---|
committer | rpaquay@chromium.org <rpaquay@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-07-31 12:07:19 +0000 |
commit | 76caec0e4f39d6ff789970702919974eb638fe45 (patch) | |
tree | 120b89ab7f002a6aa7a6db3ef482b887498f9e9d | |
parent | f81b4abcd6f95b7ad59b8a37089591ae1e739de0 (diff) | |
download | chromium_src-76caec0e4f39d6ff789970702919974eb638fe45.zip chromium_src-76caec0e4f39d6ff789970702919974eb638fe45.tar.gz chromium_src-76caec0e4f39d6ff789970702919974eb638fe45.tar.bz2 |
Delay assigning socket member to avoid DCHECK in destructor.
BUG=399045
Review URL: https://codereview.chromium.org/427403002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@286752 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | device/bluetooth/bluetooth_socket_win.cc | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/device/bluetooth/bluetooth_socket_win.cc b/device/bluetooth/bluetooth_socket_win.cc index 283c63e..15a5198 100644 --- a/device/bluetooth/bluetooth_socket_win.cc +++ b/device/bluetooth/bluetooth_socket_win.cc @@ -192,7 +192,8 @@ void BluetoothSocketWin::DoConnect( return; } - ResetTCPSocket(); + scoped_ptr<net::TCPSocket> scoped_socket( + new net::TCPSocket(NULL, net::NetLog::Source())); net::EnsureWinsockInit(); SOCKET socket_fd = socket(AF_BTH, SOCK_STREAM, BTHPROTO_RFCOMM); SOCKADDR_BTH sa; @@ -217,7 +218,7 @@ void BluetoothSocketWin::DoConnect( // Note: We don't have a meaningful |IPEndPoint|, but that is ok since the // TCPSocket implementation does not actually require one. int net_result = - tcp_socket()->AdoptConnectedSocket(socket_fd, net::IPEndPoint()); + scoped_socket->AdoptConnectedSocket(socket_fd, net::IPEndPoint()); if (net_result != net::OK) { error_callback.Run("Error connecting to socket: " + std::string(net::ErrorToString(net_result))); @@ -225,6 +226,7 @@ void BluetoothSocketWin::DoConnect( return; } + SetTCPSocket(scoped_socket.Pass()); success_callback.Run(); } |