summaryrefslogtreecommitdiffstats
path: root/net/socket/tcp_socket_win.cc
diff options
context:
space:
mode:
authorwtc@chromium.org <wtc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-11-22 01:07:05 +0000
committerwtc@chromium.org <wtc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-11-22 01:07:05 +0000
commit0a15792bfa5632c032faf36e76e7554cf22838f6 (patch)
treea4f30971c3b55b8439b9c44b63086085f08b3e7d /net/socket/tcp_socket_win.cc
parent554332f6987a911b848a5c463c8d18e8b6899e5e (diff)
downloadchromium_src-0a15792bfa5632c032faf36e76e7554cf22838f6.zip
chromium_src-0a15792bfa5632c032faf36e76e7554cf22838f6.tar.gz
chromium_src-0a15792bfa5632c032faf36e76e7554cf22838f6.tar.bz2
Close accept_event_ only after stopping accept_watcher_.
See also https://codereview.chromium.org/60853003/ R=kkania@chromium.org,yzshen@chromium.org BUG=chromedriver:573 TEST=none Review URL: https://codereview.chromium.org/79693003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@236655 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/socket/tcp_socket_win.cc')
-rw-r--r--net/socket/tcp_socket_win.cc10
1 files changed, 5 insertions, 5 deletions
diff --git a/net/socket/tcp_socket_win.cc b/net/socket/tcp_socket_win.cc
index 811af1c..5f8cd5c 100644
--- a/net/socket/tcp_socket_win.cc
+++ b/net/socket/tcp_socket_win.cc
@@ -636,11 +636,6 @@ void TCPSocketWin::Close() {
socket_ = INVALID_SOCKET;
}
- if (accept_event_) {
- WSACloseEvent(accept_event_);
- accept_event_ = WSA_INVALID_EVENT;
- }
-
if (!accept_callback_.is_null()) {
accept_watcher_.StopWatching();
accept_socket_ = NULL;
@@ -648,6 +643,11 @@ void TCPSocketWin::Close() {
accept_callback_.Reset();
}
+ if (accept_event_) {
+ WSACloseEvent(accept_event_);
+ accept_event_ = WSA_INVALID_EVENT;
+ }
+
if (core_) {
if (waiting_connect_) {
// We closed the socket, so this notification will never come.